diff --git a/extended-mixin-processor/.gitignore b/extended-mixin-processor/.gitignore
new file mode 100644
index 0000000000..2e73990cc1
--- /dev/null
+++ b/extended-mixin-processor/.gitignore
@@ -0,0 +1 @@
+dependency-reduced-pom.xml
\ No newline at end of file
diff --git a/extended-mixin-processor/pom.xml b/extended-mixin-processor/pom.xml
new file mode 100644
index 0000000000..553f8695bf
--- /dev/null
+++ b/extended-mixin-processor/pom.xml
@@ -0,0 +1,231 @@
+
+
+
+
+
+ runelite-parent
+ net.runelite
+ 1.5.24-SNAPSHOT
+
+ 4.0.0
+
+ extended-mixin-processor
+ maven-plugin
+
+ extended-mixin-processor Maven Plugin
+
+ https://www.runelitepl.us
+
+
+ ${maven.version}
+
+
+
+ UTF-8
+ 1.8
+ 1.8
+ 3.3.9
+
+
+
+
+ org.apache.maven
+ maven-plugin-api
+ ${maven.version}
+ provided
+
+
+ org.apache.maven
+ maven-core
+ ${maven.version}
+ provided
+
+
+ org.apache.maven
+ maven-artifact
+ ${maven.version}
+ provided
+
+
+ org.apache.maven
+ maven-compat
+ ${maven.version}
+ test
+
+
+ org.apache.maven.plugin-tools
+ maven-plugin-annotations
+ 3.6.0
+ provided
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+ org.apache.maven.plugin-testing
+ maven-plugin-testing-harness
+ 3.3.0
+ test
+
+
+ net.runelite
+ runelite-api
+ ${project.version}
+
+
+ net.runelite.rs
+ runescape-api
+ ${project.version}
+
+
+ net.runelite
+ client-patch
+ ${project.version}
+
+
+ com.google.guava
+ guava
+ 27.1-jre
+
+
+
+ io.sigpipe
+ jbsdiff
+ 1.0
+
+
+
+ org.javassist
+ javassist
+ 3.24.1-GA
+
+
+ com.googlecode.json-simple
+ json-simple
+ 1.1.1
+
+
+ net.lingala.zip4j
+ zip4j
+ 1.3.2
+
+
+
+ org.ow2.asm
+ asm-all
+ 6.0_BETA
+
+
+
+
+
+
+
+ maven-clean-plugin
+ 3.1.0
+
+
+
+ maven-resources-plugin
+ 3.0.2
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+
+ maven-plugin-plugin
+ 3.6.0
+
+
+ maven-surefire-plugin
+ 2.22.1
+
+
+ maven-jar-plugin
+ 3.0.2
+
+
+ maven-install-plugin
+ 2.5.2
+
+
+ maven-deploy-plugin
+ 2.8.2
+
+
+ maven-invoker-plugin
+ 3.1.0
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-plugin-plugin
+ 3.6.0
+
+
+ true
+
+
+
+ mojo-descriptor
+
+ descriptor
+
+
+
+ help-goal
+
+ helpmojo
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.2.1
+
+
+ package
+
+ shade
+
+
+ false
+
+
+
+
+
+
+
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/MethodGarbageValue.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/MethodGarbageValue.java
new file mode 100644
index 0000000000..6cfb99110e
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/MethodGarbageValue.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor;
+
+public class MethodGarbageValue
+{
+
+ private final String type;
+ private final int value;
+
+ public MethodGarbageValue(int value)
+ {
+ if(value <= Byte.MAX_VALUE && value >= Byte.MIN_VALUE)
+ {
+ type = "B";
+ }
+ else if(value <= Short.MAX_VALUE && value >= Short.MIN_VALUE)
+ {
+ type = "S";
+ }
+ else
+ {
+ type = "I";
+ }
+ this.value = value;
+ }
+
+ public int getValue()
+ {
+ return value;
+ }
+
+ public String getType()
+ {
+ return type;
+ }
+
+ public String toString()
+ {
+ return "MethodGarbageValue[type="+getType()+",value="+getValue()+"]";
+ }
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/MixinProcessorMojo.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/MixinProcessorMojo.java
new file mode 100644
index 0000000000..99dd5fc32e
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/MixinProcessorMojo.java
@@ -0,0 +1,281 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor;
+
+
+import com.google.common.collect.ImmutableSet;
+import com.google.common.io.ByteStreams;
+import com.google.common.reflect.ClassPath;
+import io.sigpipe.jbsdiff.Patch;
+import javassist.ClassPool;
+import javassist.CtClass;
+import javassist.LoaderClassPath;
+import org.objectweb.asm.AnnotationVisitor;
+import org.objectweb.asm.ClassWriter;
+import org.objectweb.asm.FieldVisitor;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+import us.runelitepl.mixinprocessor.generators.AnnotationProcessor;
+import us.runelitepl.mixinprocessor.generators.PatchGenerator;
+import us.runelitepl.mixinprocessor.generators.StaticGenerator;
+import us.runelitepl.mixinprocessor.generators.StaticStageTwoGenerator;
+import us.runelitepl.mixinprocessor.parsers.GamepackDownloader;
+import us.runelitepl.mixinprocessor.parsers.HooksParser;
+import us.runelitepl.mixinprocessor.transformers.AsmMethodGarbageTransformer;
+import us.runelitepl.mixinprocessor.transformers.AsmMethodSignatureTransformer;
+import us.runelitepl.mixinprocessor.util.JavassistUtils;
+import us.runelitepl.mixinprocessor.util.RefUtils;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.annotations.ResolutionScope;
+import org.apache.maven.project.MavenProject;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Goal which touches a timestamp file.
+ */
+@Mojo(name = "process-mixins", defaultPhase = LifecyclePhase.PROCESS_CLASSES, requiresDependencyResolution =
+ ResolutionScope.COMPILE)
+public class MixinProcessorMojo
+ extends AbstractMojo implements Opcodes
+{
+ private static final String PATCHES_PACKAGE = "us.runelitepl.mixins";
+ /**
+ * Location of the file.
+ */
+ @Parameter(defaultValue = "${project.build.directory}", property = "outputDir", required = true)
+ private File outputDirectory;
+
+ @Parameter(defaultValue = "${project}", required = true, readonly = true)
+ private MavenProject project;
+
+ @Parameter(property = "process-mixins.hooks", defaultValue = "hooks.json", required = true)
+ private String hooks;
+
+ @Parameter(property = "process-mixins.ops", defaultValue = "gamepack.deob.jar.op.json", required = true)
+ private String ops;
+
+ private static MixinProcessorMojo INST;
+
+ public static ClassPool classPool;
+
+ public static HashMap fieldDecoders = new HashMap<>();
+
+ public static HashMap classNames = new HashMap<>();
+ public static HashMap methodNames = new HashMap<>();
+ public static HashMap fieldNames = new HashMap<>();
+
+ public static HashMap isFieldTagged = new HashMap<>();
+ public static HashMap isMethodTagged = new HashMap<>();
+
+ public static HashMap methodGarbageValues = new HashMap<>();
+
+ public static HashMap gamepack = new HashMap<>();
+
+ public static final int BUFFER_SIZE = 1024 * 1024 * 4;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ INST = this;
+ try
+ {
+ List runtimeClasspathElements = project.getRuntimeClasspathElements();
+ URL[] runtimeUrls = new URL[runtimeClasspathElements.size()];
+ for (int i = 0; i < runtimeClasspathElements.size(); i++)
+ {
+ String element = (String) runtimeClasspathElements.get(i);
+ runtimeUrls[i] = new File(element).toURI().toURL();
+ }
+ URLClassLoader classLoader = new URLClassLoader(runtimeUrls,
+ Thread.currentThread().getContextClassLoader());
+
+ File outputFolder = new File(project.getBuild().getOutputDirectory());
+ File projectDir = new File(System.getProperty("user.dir"));
+
+ File hooksFile = new File(projectDir, hooks);
+ File opsFile = new File(projectDir, ops);
+
+ outputFolder.mkdirs();
+
+ GamepackDownloader.downloadGamepack(gamepack);
+
+ ByteArrayOutputStream patchOutputStream = new ByteArrayOutputStream(BUFFER_SIZE); // 4mb
+
+ HooksParser.run(hooksFile, opsFile);
+
+ classPool = new ClassPool();
+
+ classPool.appendClassPath((new LoaderClassPath(classLoader)));
+
+ for (Map.Entry entry : gamepack.entrySet())
+ {
+ byte[] b1_;
+ try (InputStream is = getClass().getResourceAsStream("/patch/" + entry.getKey() + ".class.bs"))
+ {
+ if (is == null)
+ {
+ stderr("IS null for %s", entry.getKey());
+ continue;
+ }
+
+ b1_ = ByteStreams.toByteArray(is);
+ }
+ patchOutputStream.reset();
+ Patch.patch(entry.getValue(), b1_, patchOutputStream);
+ entry.setValue(patchOutputStream.toByteArray());
+
+ classPool.makeClass(new ByteArrayInputStream(entry.getValue()));
+ }
+
+
+ HashMap finalClasses = new HashMap<>();
+
+ ImmutableSet classes =
+ ClassPath.from(classLoader).getTopLevelClassesRecursive(PATCHES_PACKAGE);
+
+ for (ClassPath.ClassInfo clazz : classes)
+ {
+
+ stderr("");
+ stderr("Annotations: %s", clazz.getSimpleName());
+
+ CtClass ctClass = classPool.get(clazz.getName());
+
+ String className = ctClass.getSimpleName();
+ className = RefUtils.getObbedClassName(className);
+
+ byte[] finalCode = JavassistUtils.getClassBytecode(ctClass);
+
+ finalCode = new AnnotationProcessor(className, finalCode).run();
+
+ finalClasses.put(className, finalCode);
+ }
+
+ for (Map.Entry entry : finalClasses.entrySet())
+ {
+ String className = entry.getKey();
+ byte[] finalCode = entry.getValue();
+
+ stderr("");
+ stderr("Pass 1: %s", className);
+ finalCode = new AsmMethodSignatureTransformer(className, finalCode).transform();
+ finalCode = new AsmMethodGarbageTransformer(className, finalCode, finalClasses).transform();
+ finalClasses.put(className, finalCode);
+ }
+
+ stderr("");
+ stderr("Pass Statics");
+
+ new StaticGenerator().run(finalClasses.get(RefUtils.STATICS_STRING));
+
+ new StaticStageTwoGenerator(finalClasses).run();
+
+ for (Map.Entry entry : finalClasses.entrySet())
+ {
+ String className = entry.getKey();
+ if (className == null)
+ {
+ stderr("Class name null? %s", entry.getValue().length);
+ continue;
+ }
+ if (className.endsWith(RefUtils.STATICS_STRING))
+ {
+ continue;
+ }
+ stderr("");
+ stderr("Pass 2: %s", className);
+
+ byte[] finalCode = entry.getValue();
+ finalCode = new PatchGenerator(className, finalCode).run();
+
+
+ entry.setValue(finalCode);
+ }
+
+ deleteDir(new File(outputFolder, "us/runelitepl/mixins"));
+
+ outputFolder = new File(outputFolder, "extended-mixins");
+ outputFolder.mkdirs();
+
+ for (Map.Entry entry : finalClasses.entrySet())
+ {
+ if (entry.getKey().contains(RefUtils.STATICS_STRING))
+ {
+ continue;
+ }
+ Files.write(new File(outputFolder, entry.getKey() + ".class").toPath(),
+ entry.getValue());
+ }
+ }
+ catch (Exception ex)
+ {
+ ex.printStackTrace();
+ throw new MojoExecutionException(ex.getMessage());
+ }
+
+ }
+
+ public void stderr(String s, Object... format)
+ {
+ getLog().info(String.format(s, format));
+ }
+
+ public static void log(String s, Object... format)
+ {
+ INST.stderr(s, format);
+ }
+
+ static void deleteDir(File file) throws IOException
+ {
+ if (!file.exists())
+ {
+ return;
+ }
+ Files.walk(file.toPath())
+ .sorted(Comparator.reverseOrder())
+ .map(Path::toFile)
+ .forEach(File::delete);
+ }
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Append.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Append.java
new file mode 100644
index 0000000000..b61a0bce5f
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Append.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Append
+{
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Inject.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Inject.java
new file mode 100644
index 0000000000..3a1f411f7d
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Inject.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Inject
+{
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Overwrite.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Overwrite.java
new file mode 100644
index 0000000000..ad9a6ba06b
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Overwrite.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Overwrite
+{
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Prepend.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Prepend.java
new file mode 100644
index 0000000000..dcc614d9e6
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Prepend.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Prepend
+{
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Provided.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Provided.java
new file mode 100644
index 0000000000..eedab52350
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Provided.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Provided
+{
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Reobfuscate.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Reobfuscate.java
new file mode 100644
index 0000000000..a3f15be28c
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/annotations/Reobfuscate.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Reobfuscate
+{
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/enums/InjectionType.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/enums/InjectionType.java
new file mode 100644
index 0000000000..0ce52fdcd9
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/enums/InjectionType.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.enums;
+
+public enum InjectionType
+{
+ INJECT,
+ APPEND,
+ OVERWRITE,
+ PREPEND,
+ PROVIDED;
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/generators/AnnotationProcessor.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/generators/AnnotationProcessor.java
new file mode 100644
index 0000000000..e362db4828
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/generators/AnnotationProcessor.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.generators;
+
+import javassist.CannotCompileException;
+import javassist.CtClass;
+import us.runelitepl.mixinprocessor.MixinProcessorMojo;
+import us.runelitepl.mixinprocessor.parsers.FieldAnnotationParser;
+import us.runelitepl.mixinprocessor.parsers.MethodAnnotationParser;
+import us.runelitepl.mixinprocessor.util.JavassistUtils;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+
+public class AnnotationProcessor
+{
+
+ private final String className;
+ private final byte[] finalCode;
+
+ public AnnotationProcessor(String className, byte[] finalCode)
+ {
+ this.className = className;
+ this.finalCode = finalCode;
+ }
+
+ public byte[] run() throws IOException, CannotCompileException, ClassNotFoundException
+ {
+ byte[] newCode = finalCode;
+
+ CtClass clazz = MixinProcessorMojo.classPool.makeClass(new ByteArrayInputStream(newCode));
+ new FieldAnnotationParser(clazz).run();
+ new MethodAnnotationParser(clazz).run();
+ newCode = JavassistUtils.getClassBytecode(clazz);
+
+ return newCode;
+ }
+
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/generators/PatchGenerator.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/generators/PatchGenerator.java
new file mode 100644
index 0000000000..106aac77dd
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/generators/PatchGenerator.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.generators;
+
+import us.runelitepl.mixinprocessor.transformers.AnnotationRemoverTransformer;
+import us.runelitepl.mixinprocessor.transformers.AsmMethodGarbageTransformer;
+import us.runelitepl.mixinprocessor.transformers.AsmMethodSignatureTransformer;
+import us.runelitepl.mixinprocessor.transformers.AsmNameTransformer;
+import us.runelitepl.mixinprocessor.transformers.AsmStaticUsageTransformer;
+import us.runelitepl.mixinprocessor.transformers.DoNothingTransformer;
+import us.runelitepl.mixinprocessor.transformers.GetFieldDecoderTransformer;
+import us.runelitepl.mixinprocessor.transformers.ProvidedRemoverTransformer;
+
+public class PatchGenerator
+{
+
+ private final String className;
+ private final byte[] bytecode;
+
+ public PatchGenerator(String className, byte[] bytecode)
+ {
+ this.className = className;
+ this.bytecode = bytecode;
+ }
+
+ public byte[] run()
+ {
+ byte[] newCode = bytecode;
+
+ newCode = new GetFieldDecoderTransformer(className, newCode).transform();
+ // https://asm.ow2.io/javadoc/org/objectweb/asm/commons/Remapper.html
+ // https://asm.ow2.io/javadoc/org/objectweb/asm/commons/ClassRemapper.html
+ newCode = new AsmStaticUsageTransformer(className, newCode).transform();
+ newCode = new AsmNameTransformer(className, newCode).transform();
+ newCode = new ProvidedRemoverTransformer(className, newCode).transform();
+ newCode = new AnnotationRemoverTransformer(className, newCode).transform();
+
+
+ newCode = new DoNothingTransformer(className, newCode).transform();
+ return newCode;
+ }
+
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/generators/StaticGenerator.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/generators/StaticGenerator.java
new file mode 100644
index 0000000000..3cb1441327
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/generators/StaticGenerator.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.generators;
+
+import javassist.CannotCompileException;
+import javassist.CtClass;
+import javassist.NotFoundException;
+import us.runelitepl.mixinprocessor.MixinProcessorMojo;
+import us.runelitepl.mixinprocessor.util.JavassistUtils;
+import us.runelitepl.mixinprocessor.util.RefUtils;
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.tree.ClassNode;
+import org.objectweb.asm.tree.FieldNode;
+import org.objectweb.asm.tree.MethodNode;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Set;
+
+public class StaticGenerator
+{
+
+ public static HashMap> staticMethods = new HashMap<>();
+ public static HashMap> staticFields = new HashMap<>();
+ public static Set modifiedClasses = new HashSet<>();
+
+ public void run(byte[] bytecode) throws NotFoundException, IOException, CannotCompileException
+ {
+ ClassReader cr = new ClassReader(bytecode);
+
+ ClassNode node = new ClassNode();
+ cr.accept(node, 0);
+
+ for (Object aaa : node.methods)
+ {
+ MethodNode method = (MethodNode) aaa;
+
+ String methodName = method.name;
+ method.desc = RefUtils.reobMethodDescriptor(method.desc);
+ int access = method.access;
+ if ((access & 8) != 8)
+ {
+ continue;
+ }
+ String reobbed = RefUtils.reobMethodName(RefUtils.STATICS_STRING, methodName, method.desc);
+ if(reobbed == null)
+ {
+ MixinProcessorMojo.log("Failed to reob static method: %s %s", methodName, method.desc);
+ throw new RuntimeException();
+ }
+ String[] split = reobbed.split(" ");
+ method.name = split[1];
+ ArrayList list = staticMethods.getOrDefault(split[0], new ArrayList<>());
+ list.add(method);
+ staticMethods.put(split[0], list);
+ modifiedClasses.add(split[0]);
+ }
+
+ for (Object aaa : node.fields)
+ {
+ FieldNode field = (FieldNode) aaa;
+
+ String fieldName = field.name;
+ field.desc = RefUtils.reobDescriptor(field.desc);
+ int access = field.access;
+ if ((access & 8) != 8)
+ {
+ continue;
+ }
+ String reobbed = RefUtils.reobFieldName(RefUtils.STATICS_STRING, fieldName, field.desc);
+ if(reobbed == null)
+ {
+ MixinProcessorMojo.log("Failed to reob static field: %s %s", fieldName, field.desc);
+ throw new RuntimeException();
+ }
+ String[] split = reobbed.split(" ");
+ field.name = split[1];
+ ArrayList list = staticFields.getOrDefault(split[0], new ArrayList<>());
+ list.add(field);
+ staticFields.put(split[0], list);
+ modifiedClasses.add(split[0]);
+ }
+ }
+
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/generators/StaticStageTwoGenerator.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/generators/StaticStageTwoGenerator.java
new file mode 100644
index 0000000000..f0c0019943
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/generators/StaticStageTwoGenerator.java
@@ -0,0 +1,261 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.generators;
+
+import org.objectweb.asm.Attribute;
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.ClassWriter;
+import org.objectweb.asm.FieldVisitor;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.tree.AnnotationNode;
+import org.objectweb.asm.tree.FieldNode;
+import org.objectweb.asm.tree.MethodNode;
+import org.objectweb.asm.tree.TypeAnnotationNode;
+import us.runelitepl.mixinprocessor.MixinProcessorMojo;
+import us.runelitepl.mixinprocessor.parsers.MethodReflector;
+
+import java.util.HashMap;
+
+import static us.runelitepl.mixinprocessor.generators.StaticGenerator.modifiedClasses;
+import static us.runelitepl.mixinprocessor.generators.StaticGenerator.staticFields;
+import static us.runelitepl.mixinprocessor.generators.StaticGenerator.staticMethods;
+
+public class StaticStageTwoGenerator implements Opcodes
+{
+
+ private HashMap classes;
+
+ public StaticStageTwoGenerator(HashMap classes)
+ {
+ this.classes = classes;
+ }
+
+ public void run()
+ {
+ for (String className : modifiedClasses)
+ {
+ byte[] targetBytecode = classes.getOrDefault(className, null);
+ if (targetBytecode == null)
+ {
+ //create new class
+ ClassWriter cw = new ClassWriter(0);
+ FieldVisitor fv;
+ MethodVisitor mv;
+
+ cw.visit(V1_6, ACC_PUBLIC, className, null, "java/lang/Object", null);
+
+ if (staticMethods.get(className) != null)
+ {
+ for (MethodNode method : staticMethods.get(className))
+ {
+ mv = cw.visitMethod(method.access, method.name, method.desc, method.signature,
+ (String[]) method.exceptions.toArray(new String[0]));
+ MethodReflector reflector = new MethodReflector(mv);
+ method.accept(reflector);
+ }
+ }
+
+ if (staticFields.get(className) != null)
+ {
+ for (FieldNode field : staticFields.get(className))
+ {
+ fv = cw.visitField(field.access, field.name, field.desc, field.signature, field.value);
+ int i;
+ int n;
+ AnnotationNode annotation;
+ if (field.visibleAnnotations != null)
+ {
+ i = 0;
+
+ for (n = field.visibleAnnotations.size(); i < n; ++i)
+ {
+ annotation = (AnnotationNode) field.visibleAnnotations.get(i);
+ annotation.accept(fv.visitAnnotation(annotation.desc, true));
+ }
+ }
+
+ if (field.invisibleAnnotations != null)
+ {
+ i = 0;
+
+ for (n = field.invisibleAnnotations.size(); i < n; ++i)
+ {
+ annotation = (AnnotationNode) field.invisibleAnnotations.get(i);
+ annotation.accept(fv.visitAnnotation(annotation.desc, false));
+ }
+ }
+
+ TypeAnnotationNode typeAnnotation;
+ if (field.visibleTypeAnnotations != null)
+ {
+ i = 0;
+
+ for (n = field.visibleTypeAnnotations.size(); i < n; ++i)
+ {
+ typeAnnotation = (TypeAnnotationNode) field.visibleTypeAnnotations.get(i);
+ typeAnnotation.accept(fv
+ .visitTypeAnnotation(typeAnnotation.typeRef, typeAnnotation.typePath,
+ typeAnnotation.desc, true));
+ }
+ }
+
+ if (field.invisibleTypeAnnotations != null)
+ {
+ i = 0;
+
+ for (n = field.invisibleTypeAnnotations.size(); i < n; ++i)
+ {
+ typeAnnotation = (TypeAnnotationNode) field.invisibleTypeAnnotations.get(i);
+ typeAnnotation.accept(fv
+ .visitTypeAnnotation(typeAnnotation.typeRef, typeAnnotation.typePath,
+ typeAnnotation.desc, false));
+ }
+ }
+
+ if (field.attrs != null)
+ {
+ i = 0;
+
+ for (n = field.attrs.size(); i < n; ++i)
+ {
+ fv.visitAttribute((Attribute) field.attrs.get(i));
+ }
+ }
+
+ fv.visitEnd();
+ }
+ }
+
+ cw.visitEnd();
+
+ targetBytecode = cw.toByteArray();
+ }
+ else
+ {
+ ClassReader cr = new ClassReader(targetBytecode);
+ ClassWriter cw = new ClassWriter(cr, 0);
+ ClassVisitor cv = new ClassVisitor(ASM6)
+ {
+ @Override
+ public void visit(int version, int access, String name, String signature, String superName, String[] interfaces)
+ {
+ super.visit(version, access, name, signature, superName, interfaces);
+ if (staticMethods.get(className) != null)
+ {
+ for (MethodNode method : staticMethods.get(className))
+ {
+ MethodVisitor mv = visitMethod(method.access, method.name, method.desc,
+ method.signature, (String[]) method.exceptions.toArray(new String[0]));
+ MethodReflector reflector = new MethodReflector(mv);
+ method.accept(reflector);
+ }
+ }
+
+ if (staticFields.get(className) != null)
+ {
+ for (FieldNode field : staticFields.get(className))
+ {
+ FieldVisitor fv = visitField(field.access, field.name, field.desc, field.signature,
+ field.value);
+ int i;
+ int n;
+ AnnotationNode annotation;
+ if (field.visibleAnnotations != null)
+ {
+ i = 0;
+
+ for (n = field.visibleAnnotations.size(); i < n; ++i)
+ {
+ annotation = (AnnotationNode) field.visibleAnnotations.get(i);
+ annotation.accept(fv.visitAnnotation(annotation.desc, true));
+ }
+ }
+
+ if (field.invisibleAnnotations != null)
+ {
+ i = 0;
+
+ for (n = field.invisibleAnnotations.size(); i < n; ++i)
+ {
+ annotation = (AnnotationNode) field.invisibleAnnotations.get(i);
+ annotation.accept(fv.visitAnnotation(annotation.desc, false));
+ }
+ }
+
+ TypeAnnotationNode typeAnnotation;
+ if (field.visibleTypeAnnotations != null)
+ {
+ i = 0;
+
+ for (n = field.visibleTypeAnnotations.size(); i < n; ++i)
+ {
+ typeAnnotation = (TypeAnnotationNode) field.visibleTypeAnnotations.get(i);
+ typeAnnotation.accept(fv
+ .visitTypeAnnotation(typeAnnotation.typeRef, typeAnnotation.typePath,
+ typeAnnotation.desc, true));
+ }
+ }
+
+ if (field.invisibleTypeAnnotations != null)
+ {
+ i = 0;
+
+ for (n = field.invisibleTypeAnnotations.size(); i < n; ++i)
+ {
+ typeAnnotation = (TypeAnnotationNode) field.invisibleTypeAnnotations.get(i);
+ typeAnnotation.accept(fv
+ .visitTypeAnnotation(typeAnnotation.typeRef, typeAnnotation.typePath,
+ typeAnnotation.desc, false));
+ }
+ }
+
+ if (field.attrs != null)
+ {
+ i = 0;
+
+ for (n = field.attrs.size(); i < n; ++i)
+ {
+ fv.visitAttribute((Attribute) field.attrs.get(i));
+ }
+ }
+
+ fv.visitEnd();
+ }
+ }
+ }
+ };
+ cr.accept(cv, 0);
+
+ targetBytecode = cw.toByteArray();
+ }
+
+ classes.put(className, targetBytecode);
+ }
+ }
+
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/parsers/FieldAnnotationParser.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/parsers/FieldAnnotationParser.java
new file mode 100644
index 0000000000..548a3673bd
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/parsers/FieldAnnotationParser.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.parsers;
+
+import javassist.CtClass;
+import javassist.CtField;
+import us.runelitepl.mixinprocessor.annotations.Append;
+import us.runelitepl.mixinprocessor.annotations.Inject;
+import us.runelitepl.mixinprocessor.annotations.Overwrite;
+import us.runelitepl.mixinprocessor.annotations.Prepend;
+import us.runelitepl.mixinprocessor.annotations.Provided;
+import us.runelitepl.mixinprocessor.annotations.Reobfuscate;
+import us.runelitepl.mixinprocessor.enums.InjectionType;
+import us.runelitepl.mixinprocessor.util.RefUtils;
+
+import static us.runelitepl.mixinprocessor.MixinProcessorMojo.isFieldTagged;
+
+public class FieldAnnotationParser
+{
+
+ private CtClass clazz;
+
+ public FieldAnnotationParser(CtClass clazz)
+ {
+ this.clazz = clazz;
+ }
+
+ public void run() throws ClassNotFoundException
+ {
+ for (CtField field : clazz.getDeclaredFields())
+ {
+ Object[] annotations = field.getAnnotations();
+
+ InjectionType type = null;
+ boolean reobfuscate = false;
+
+ for (Object obj : annotations)
+ {
+ reobfuscate = obj instanceof Reobfuscate || reobfuscate;
+ if (obj instanceof Inject)
+ {
+ type = InjectionType.INJECT;
+ }
+ else if (obj instanceof Append)
+ {
+ type = InjectionType.APPEND;
+ }
+ else if (obj instanceof Overwrite)
+ {
+ type = InjectionType.OVERWRITE;
+ }
+ else if (obj instanceof Prepend)
+ {
+ type = InjectionType.PREPEND;
+ }
+ else if (obj instanceof Provided)
+ {
+ type = InjectionType.PROVIDED;
+ }
+ }
+
+ String fieldOwner = field.getDeclaringClass().getSimpleName();
+ String fieldName = field.getName();
+ String fieldDescriptor = RefUtils.reobDescriptor(field.getSignature());
+
+ if (type == null)
+ {
+ throw new RuntimeException(
+ field.getDeclaringClass().getSimpleName() + "." + field.getName() + " is unannotated" +
+ "!");
+ }
+
+ if (type != InjectionType.PROVIDED && type != InjectionType.INJECT)
+ {
+ throw new RuntimeException(
+ field.getDeclaringClass().getSimpleName() + "." + field.getName() + " has an invalid " +
+ "annotation! @" + type);
+ }
+
+ if (reobfuscate)
+ {
+ isFieldTagged.put(fieldOwner + " " + fieldName + " " + fieldDescriptor, true);
+ }
+ }
+ }
+
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/parsers/GamepackDownloader.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/parsers/GamepackDownloader.java
new file mode 100644
index 0000000000..d10b80823a
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/parsers/GamepackDownloader.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.parsers;
+
+import us.runelitepl.mixinprocessor.util.WebUtils;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
+
+public class GamepackDownloader
+{
+
+ private static final String CONFIG_URL = "http://oldschool.runescape.com/jav_config.ws";
+ private static String codebase;
+ private static String initial_jar;
+
+ public static void downloadGamepack(HashMap output) throws IOException
+ {
+ parseConfig();
+ byte[] gamepackJarAry = WebUtils.downloadFile(getGamepackUrl());
+ ZipInputStream zipInputStream = new ZipInputStream(new ByteArrayInputStream(gamepackJarAry));
+ byte[] buffer = new byte[2048];
+ ZipEntry entry;
+ ByteArrayOutputStream fileContent = new ByteArrayOutputStream(1024*1024*4);
+ while ((entry = zipInputStream.getNextEntry()) != null)
+ {
+ if (entry.getName().startsWith("META-INF"))
+ {
+ continue;
+ }
+ String key = entry.getName().replace(".class", "");
+ int len = 0;
+ while((len = zipInputStream.read(buffer)) > 0)
+ {
+ fileContent.write(buffer, 0, len);
+ }
+ output.put(key, fileContent.toByteArray());
+ fileContent.reset();
+ }
+ zipInputStream.close();
+ }
+
+ private static void parseConfig() throws IOException
+ {
+ String pageText = WebUtils.getUrlContent(CONFIG_URL);
+ for (String line : pageText.split("\n"))
+ {
+ if (line.startsWith("codebase="))
+ {
+ codebase = line.replace("codebase=", "");
+ }
+ else if (line.startsWith("initial_jar="))
+ {
+ initial_jar = line.replace("initial_jar=", "");
+ }
+ }
+ }
+
+ public static String getGamepackUrl()
+ {
+ return codebase + initial_jar;
+ }
+
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/parsers/HooksParser.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/parsers/HooksParser.java
new file mode 100644
index 0000000000..111303da75
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/parsers/HooksParser.java
@@ -0,0 +1,144 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.parsers;
+
+import us.runelitepl.mixinprocessor.MethodGarbageValue;
+import us.runelitepl.mixinprocessor.MixinProcessorMojo;
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+import org.json.simple.parser.ParseException;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.util.Map;
+
+public class HooksParser
+{
+
+ public static void run(File hooksFile, File opsFile) throws IOException, ParseException
+ {
+ JSONParser parser = new JSONParser();
+ //region hooksFile
+ String jsonContent = String.join("\n", Files.readAllLines(hooksFile.toPath()));
+ JSONArray array = (JSONArray) parser.parse(jsonContent);
+
+ for (Object object : array)
+ {
+ JSONObject rootObject = (JSONObject) object;
+ String c_obbedName = (String) rootObject.get("name");
+ String c_deobbedName = (String) rootObject.get("class");
+ MixinProcessorMojo.classNames.put(c_deobbedName, c_obbedName);
+ }
+
+ int failedFields = 0;
+ int failedMethods = 0;
+ for (Object object : array)
+ {
+ JSONObject rootObject = (JSONObject) object;
+
+ JSONArray fieldArray = (JSONArray) rootObject.get("fields");
+ for (Object fieldObj : fieldArray)
+ {
+ JSONObject field = (JSONObject) fieldObj;
+ String f_deobbedName = (String) field.get("field");
+ String f_obbedName = (String) field.get("name");
+ String f_descriptor = (String) field.get("descriptor");
+ String f_owner = (String) field.get("owner");
+ long f_decoder = (long) field.getOrDefault("decoder", (long) 1);
+ String f_deobbedOwner = null;
+ if(f_deobbedName.startsWith("__"))
+ {
+ continue;
+ }
+ for (Map.Entry entry : MixinProcessorMojo.classNames.entrySet())
+ {
+ if (entry.getValue().equals(f_owner))
+ {
+ f_deobbedOwner = entry.getKey();
+ break;
+ }
+ }
+ if (f_deobbedOwner == null)
+ {
+ failedFields++;
+ //stderr("Failed to find deobbed owner for field %s.%s %s", f_owner, f_obbedName, f_descriptor);
+ continue;
+ }
+ MixinProcessorMojo.fieldNames.put(String.format("%s %s %s", f_deobbedOwner, f_deobbedName, f_descriptor),
+ String.format("%s %s", f_owner, f_obbedName));
+ MixinProcessorMojo.fieldDecoders.put(String.format("%s %s", f_deobbedOwner, f_deobbedName),
+ f_decoder);
+ }
+
+ JSONArray methodArray = (JSONArray) rootObject.get("methods");
+ for (Object methodObj : methodArray)
+ {
+ JSONObject method = (JSONObject) methodObj;
+ String m_deobbedName = (String) method.get("method");
+ String m_owner = (String) method.get("owner");
+ String m_deobbedOwner = null;
+ String m_obbedName = (String) method.get("name");
+ String m_descriptor = (String) method.get("descriptor");
+ if(m_deobbedName.startsWith("__"))
+ {
+ continue;
+ }
+ for (Map.Entry entry : MixinProcessorMojo.classNames.entrySet())
+ {
+ if (entry.getValue().equals(m_owner))
+ {
+ m_deobbedOwner = entry.getKey();
+ break;
+ }
+ }
+ if (m_deobbedOwner == null)
+ {
+ failedMethods++;
+ //stderr("Failed to find deobbed owner for method %s.%s %s", m_owner, m_obbedName, m_descriptor);
+ continue;
+ }
+ MixinProcessorMojo.methodNames.put(String.format("%s %s %s", m_deobbedOwner, m_deobbedName, m_descriptor),
+ String.format("%s %s", m_owner, m_obbedName));
+ }
+ }
+ MixinProcessorMojo.log("%d unidentified fields", failedFields);
+ MixinProcessorMojo.log("%d unidentified methods", failedMethods);
+ //endregion
+
+ //region opsFile
+ String opsContent = String.join("\n", Files.readAllLines(opsFile.toPath()));
+ JSONObject opsRoot = (JSONObject) parser.parse(opsContent);
+ opsRoot.forEach((key, value) ->
+ {
+ String k = (String) key;
+ MixinProcessorMojo.methodGarbageValues.put(k, new MethodGarbageValue(Math.toIntExact((Long) value)));
+ });
+ //endregion
+ }
+
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/parsers/MethodAnnotationParser.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/parsers/MethodAnnotationParser.java
new file mode 100644
index 0000000000..fbb68d444c
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/parsers/MethodAnnotationParser.java
@@ -0,0 +1,127 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.parsers;
+
+import javassist.CtClass;
+import javassist.CtMethod;
+import us.runelitepl.mixinprocessor.MixinProcessorMojo;
+import us.runelitepl.mixinprocessor.annotations.Append;
+import us.runelitepl.mixinprocessor.annotations.Inject;
+import us.runelitepl.mixinprocessor.annotations.Overwrite;
+import us.runelitepl.mixinprocessor.annotations.Prepend;
+import us.runelitepl.mixinprocessor.annotations.Provided;
+import us.runelitepl.mixinprocessor.annotations.Reobfuscate;
+import us.runelitepl.mixinprocessor.enums.InjectionType;
+import us.runelitepl.mixinprocessor.util.RefUtils;
+
+import static us.runelitepl.mixinprocessor.MixinProcessorMojo.isMethodTagged;
+
+public class MethodAnnotationParser
+{
+
+ private final CtClass patch;
+
+ public MethodAnnotationParser(CtClass patch)
+ {
+ this.patch = patch;
+ }
+
+ public void run() throws ClassNotFoundException
+ {
+ for(CtMethod method : patch.getDeclaredMethods())
+ {
+ Object[] annotations = method.getAnnotations();
+
+ boolean reobfuscate = false;
+ InjectionType type = null;
+
+ for (Object obj : annotations)
+ {
+ reobfuscate = obj instanceof Reobfuscate || reobfuscate;
+ if (obj instanceof Inject)
+ {
+ type = InjectionType.INJECT;
+ }
+ else if (obj instanceof Append)
+ {
+ type = InjectionType.APPEND;
+ }
+ else if (obj instanceof Overwrite)
+ {
+ type = InjectionType.OVERWRITE;
+ }
+ else if (obj instanceof Prepend)
+ {
+ type = InjectionType.PREPEND;
+ }
+ else if (obj instanceof Provided)
+ {
+ type = InjectionType.PROVIDED;
+ }
+ }
+
+
+
+ if (type == null)
+ {
+ throw new RuntimeException(
+ method.getDeclaringClass().getSimpleName() + "." + method.getName() + " is unannotated" +
+ "!");
+ }
+
+ String methodName = method.getName();
+ if (type == InjectionType.PREPEND)
+ {
+ if (!methodName.startsWith("prepend$"))
+ {
+ throw new RuntimeException(
+ method.getDeclaringClass().getSimpleName() + "." + method.getName() + " has a @Prepend " +
+ "annotation without beginning with \"prepend$\"!");
+ }
+ }
+ else if (type == InjectionType.APPEND)
+ {
+ if (!methodName.startsWith("append$"))
+ {
+ throw new RuntimeException(
+ method.getDeclaringClass().getSimpleName() + "." + method.getName() + " has a @Append " +
+ "annotation without beginning with \"append$\"!");
+ }
+ }
+
+ if(reobfuscate)
+ {
+ MixinProcessorMojo.log("Marking: %s %s %s", method.getDeclaringClass().getSimpleName(), methodName,
+ RefUtils.reobMethodDescriptor(method.getSignature()));
+ String r = String.format("%s %s %s", method.getDeclaringClass().getSimpleName(), methodName,
+ RefUtils.reobMethodDescriptor(method.getSignature()));
+ isMethodTagged.put(r, true);
+ }
+
+ }
+ }
+
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/parsers/MethodReflector.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/parsers/MethodReflector.java
new file mode 100644
index 0000000000..43139f82ad
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/parsers/MethodReflector.java
@@ -0,0 +1,329 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.parsers;
+
+import org.objectweb.asm.AnnotationVisitor;
+import org.objectweb.asm.Attribute;
+import org.objectweb.asm.Handle;
+import org.objectweb.asm.Label;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.TypePath;
+
+public class MethodReflector extends MethodVisitor
+{
+
+ private MethodVisitor target;
+
+ public MethodReflector(MethodVisitor target)
+ {
+ super(Opcodes.ASM6);
+ this.target = target;
+ }
+
+ public void visitCode()
+ {
+ if (target != null)
+ {
+ target.visitCode();
+ }
+ super.visitCode();
+ }
+
+ public void visitEnd()
+ {
+ if (target != null)
+ {
+ target.visitEnd();
+ }
+ super.visitEnd();
+ }
+
+ public void visitParameter(String var1, int var2)
+ {
+ if (target != null)
+ {
+ target.visitParameter(var1, var2);
+ }
+ super.visitParameter(var1, var2);
+ }
+
+ public AnnotationVisitor visitAnnotationDefault()
+ {
+ if (target != null)
+ {
+ target.visitAnnotationDefault();
+ }
+ return super.visitAnnotationDefault();
+ }
+
+ public AnnotationVisitor visitAnnotation(String var1, boolean var2)
+ {
+ if (target != null)
+ {
+ target.visitAnnotation(var1, var2);
+ }
+ return super.visitAnnotation(var1, var2);
+ }
+
+ public AnnotationVisitor visitTypeAnnotation(int var1, TypePath var2, String var3, boolean var4)
+ {
+ if (target != null)
+ {
+ target.visitTypeAnnotation(var1, var2, var3, var4);
+ }
+ return super.visitTypeAnnotation(var1, var2, var3, var4);
+ }
+
+ public AnnotationVisitor visitParameterAnnotation(int var1, String var2, boolean var3)
+ {
+ if (target != null)
+ {
+ target.visitParameterAnnotation(var1, var2, var3);
+ }
+ return super.visitParameterAnnotation(var1, var2, var3);
+ }
+
+ public void visitAttribute(Attribute var1)
+ {
+ if (target != null)
+ {
+ target.visitAttribute(var1);
+ }
+ super.visitAttribute(var1);
+ }
+
+ public void visitFrame(int var1, int var2, Object[] var3, int var4, Object[] var5)
+ {
+ if (target != null)
+ {
+ target.visitFrame(var1, var2, var3, var4, var5);
+ }
+ super.visitFrame(var1, var2, var3, var4, var5);
+ }
+
+ public void visitInsn(int var1)
+ {
+ if (target != null)
+ {
+ target.visitInsn(var1);
+ }
+ super.visitInsn(var1);
+ }
+
+ public void visitIntInsn(int var1, int var2)
+ {
+ if (target != null)
+ {
+ target.visitIntInsn(var1, var2);
+ }
+ super.visitIntInsn(var1, var2);
+ }
+
+ public void visitVarInsn(int var1, int var2)
+ {
+ if (target != null)
+ {
+ target.visitVarInsn(var1, var2);
+ }
+ super.visitVarInsn(var1, var2);
+ }
+
+ public void visitTypeInsn(int var1, String var2)
+ {
+ if (target != null)
+ {
+ target.visitTypeInsn(var1, var2);
+ }
+ super.visitTypeInsn(var1, var2);
+ }
+
+ public void visitFieldInsn(int var1, String var2, String var3, String var4)
+ {
+ if (target != null)
+ {
+ target.visitFieldInsn(var1, var2, var3, var4);
+ }
+ super.visitFieldInsn(var1, var2, var3, var4);
+ }
+
+ /**
+ * @deprecated
+ */
+ public void visitMethodInsn(int var1, String var2, String var3, String var4)
+ {
+ if (target != null)
+ {
+ target.visitMethodInsn(var1, var2, var3, var4);
+ }
+ super.visitMethodInsn(var1, var2, var3, var4);
+ }
+
+ public void visitMethodInsn(int var1, String var2, String var3, String var4, boolean var5)
+ {
+ if (target != null)
+ {
+ target.visitMethodInsn(var1, var2, var3, var4, var5);
+ }
+ super.visitMethodInsn(var1, var2, var3, var4, var5);
+ }
+
+ public void visitInvokeDynamicInsn(String var1, String var2, Handle var3, Object... var4)
+ {
+ if (target != null)
+ {
+ target.visitInvokeDynamicInsn(var1, var2, var3, var4);
+ }
+ super.visitInvokeDynamicInsn(var1, var2, var3, var4);
+ }
+
+ public void visitJumpInsn(int var1, Label var2)
+ {
+ if (target != null)
+ {
+ target.visitJumpInsn(var1, var2);
+ }
+ super.visitJumpInsn(var1, var2);
+ }
+
+ public void visitLabel(Label var1)
+ {
+ if (target != null)
+ {
+ target.visitLabel(var1);
+ }
+ super.visitLabel(var1);
+ }
+
+ public void visitLdcInsn(Object var1)
+ {
+ if (target != null)
+ {
+ target.visitLdcInsn(var1);
+ }
+ super.visitLdcInsn(var1);
+ }
+
+ public void visitIincInsn(int var1, int var2)
+ {
+ if (target != null)
+ {
+ target.visitIincInsn(var1, var2);
+ }
+ super.visitIincInsn(var1, var2);
+ }
+
+ public void visitTableSwitchInsn(int var1, int var2, Label var3, Label... var4)
+ {
+ if (target != null)
+ {
+ target.visitTableSwitchInsn(var1, var2, var3, var4);
+ }
+ super.visitTableSwitchInsn(var1, var2, var3, var4);
+ }
+
+ public void visitLookupSwitchInsn(Label var1, int[] var2, Label[] var3)
+ {
+ if (target != null)
+ {
+ target.visitLookupSwitchInsn(var1, var2, var3);
+ }
+ super.visitLookupSwitchInsn(var1, var2, var3);
+ }
+
+ public void visitMultiANewArrayInsn(String var1, int var2)
+ {
+ if (target != null)
+ {
+ target.visitMultiANewArrayInsn(var1, var2);
+ }
+ super.visitMultiANewArrayInsn(var1, var2);
+ }
+
+ public AnnotationVisitor visitInsnAnnotation(int var1, TypePath var2, String var3, boolean var4)
+ {
+ if (target != null)
+ {
+ target.visitInsnAnnotation(var1, var2, var3, var4);
+ }
+ return super.visitInsnAnnotation(var1, var2, var3, var4);
+ }
+
+ public void visitTryCatchBlock(Label var1, Label var2, Label var3, String var4)
+ {
+ if (target != null)
+ {
+ target.visitTryCatchBlock(var1, var2, var3, var4);
+ }
+ super.visitTryCatchBlock(var1, var2, var3, var4);
+ }
+
+ public AnnotationVisitor visitTryCatchAnnotation(int var1, TypePath var2, String var3, boolean var4)
+ {
+ if (target != null)
+ {
+ target.visitTryCatchAnnotation(var1, var2, var3, var4);
+ }
+ return super.visitTryCatchAnnotation(var1, var2, var3, var4);
+ }
+
+ public void visitLocalVariable(String var1, String var2, String var3, Label var4, Label var5, int var6)
+ {
+ if (target != null)
+ {
+ target.visitLocalVariable(var1, var2, var3, var4, var5, var6);
+ }
+ super.visitLocalVariable(var1, var2, var3, var4, var5, var6);
+ }
+
+ public AnnotationVisitor visitLocalVariableAnnotation(int var1, TypePath var2, Label[] var3, Label[] var4, int[] var5, String var6, boolean var7)
+ {
+ if (target != null)
+ {
+ target.visitLocalVariableAnnotation(var1, var2, var3, var4, var5, var6, var7);
+ }
+ return super.visitLocalVariableAnnotation(var1, var2, var3, var4, var5, var6, var7);
+ }
+
+ public void visitLineNumber(int var1, Label var2)
+ {
+ if (target != null)
+ {
+ target.visitLineNumber(var1, var2);
+ }
+ super.visitLineNumber(var1, var2);
+ }
+
+ public void visitMaxs(int var1, int var2)
+ {
+ if (target != null)
+ {
+ target.visitMaxs(var1, var2);
+ }
+ super.visitMaxs(var1, var2);
+ }
+
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AnnotationRemoverTransformer.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AnnotationRemoverTransformer.java
new file mode 100644
index 0000000000..af745a80a3
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AnnotationRemoverTransformer.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.transformers;
+
+import org.objectweb.asm.AnnotationVisitor;
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.ClassWriter;
+import org.objectweb.asm.FieldVisitor;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+
+public class AnnotationRemoverTransformer extends AsmBaseTransformer
+{
+
+ private final String className;
+ private final byte[] bytecode;
+
+ public AnnotationRemoverTransformer(String className, byte[] bytecode)
+ {
+ this.className = className;
+ this.bytecode = bytecode;
+ }
+
+ @Override
+ public byte[] transform()
+ {
+ ClassReader cr = new ClassReader(bytecode);
+ ClassWriter cw = new ClassWriter(cr, 0);
+ cr.accept(new ClassVisitor(Opcodes.ASM6, cw)
+ {
+ @Override
+ public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions)
+ {
+ MethodVisitor visitor = super.visitMethod(access, name, desc, signature, exceptions);
+ MethodVisitor mv = new MethodVisitor(Opcodes.ASM6, visitor)
+ {
+ @Override
+ public AnnotationVisitor visitAnnotation(String descriptor, boolean hidden)
+ {
+ if (descriptor.equals(makeAnnotationDescriptor("Reobfuscate")))
+ {
+ return null;
+ }
+ return super.visitAnnotation(descriptor, hidden);
+ }
+ };
+ return mv;
+ }
+
+ @Override
+ public FieldVisitor visitField(int access, String name, String descriptor, String signature, Object value)
+ {
+ FieldVisitor visitor = super.visitField(access, name, descriptor, signature, value);
+ return new FieldVisitor(Opcodes.ASM6, visitor)
+ {
+ @Override
+ public AnnotationVisitor visitAnnotation(String descriptor, boolean hidden)
+ {
+ if (descriptor.equals(makeAnnotationDescriptor("Reobfuscate")))
+ {
+ return null;
+ }
+ if (descriptor.equals(makeAnnotationDescriptor("Provided")))
+ {
+ return null;
+ }
+ return super.visitAnnotation(descriptor, hidden);
+ }
+ };
+ }
+ }, 0);
+ return cw.toByteArray();
+ }
+
+ public static String makeAnnotationDescriptor(String s)
+ {
+ return "Lus/runelitepl/mixinprocessor/annotations/" + s + ";";
+ }
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AsmBaseTransformer.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AsmBaseTransformer.java
new file mode 100644
index 0000000000..5c44dbf62d
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AsmBaseTransformer.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.transformers;
+
+import org.objectweb.asm.Opcodes;
+
+import java.util.ArrayList;
+
+public abstract class AsmBaseTransformer implements Opcodes
+{
+
+ protected final ArrayList validMethods = new ArrayList<>();
+ protected final ArrayList validFields = new ArrayList<>();
+
+ protected void buildMethodList(){}
+
+ protected void buildFieldList(){}
+
+ public abstract byte[] transform();
+
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AsmMethodGarbageTransformer.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AsmMethodGarbageTransformer.java
new file mode 100644
index 0000000000..e6532132ef
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AsmMethodGarbageTransformer.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.transformers;
+
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.ClassWriter;
+import org.objectweb.asm.MethodVisitor;
+import us.runelitepl.mixinprocessor.MethodGarbageValue;
+import us.runelitepl.mixinprocessor.MixinProcessorMojo;
+import us.runelitepl.mixinprocessor.util.RefUtils;
+
+import java.sql.Ref;
+import java.util.HashMap;
+
+public class AsmMethodGarbageTransformer extends AsmBaseTransformer
+{
+
+ private final String className;
+ private final byte[] bytecode;
+ private HashMap classSet;
+
+ public AsmMethodGarbageTransformer(String className, byte[] bytecode, HashMap classSet)
+ {
+ this.className = className;
+ this.bytecode = bytecode;
+ this.classSet = classSet;
+ }
+
+ @Override
+ public byte[] transform()
+ {
+
+ ClassReader cr = new ClassReader(bytecode);
+ ClassWriter cw = new ClassWriter(cr, ClassWriter.COMPUTE_FRAMES);
+
+ cr.accept(new ClassVisitor(ASM6, cw)
+ {
+ @Override
+ public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions)
+ {
+ MethodVisitor mv = super.visitMethod(access, name, desc, signature, exceptions);
+ return new MethodVisitor(ASM6, mv)
+ {
+ @Override
+ public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf)
+ {
+ // get method owner.string(desc)
+ // check if method is annotated with @Reobfuscate
+ // brute force actual descriptor (check with shouldReobMethod(owner, name desc) )
+ // mv.visitLdcInsn(BIPUSH, constant);
+ // call super method with new descriptor
+
+ if(RefUtils.shouldReobMethod(owner, name, desc))
+ {
+ String nc = RefUtils.reobMethodName(owner, name, desc).split(" ")[0];
+ String nn = RefUtils.reobMethodName(owner, name, desc).split(" ")[1];
+ String nd = RefUtils.reobMethodDescriptor(desc);
+ MethodGarbageValue value;
+ if((value = MixinProcessorMojo.methodGarbageValues.getOrDefault(String.format("%s.%s%s",
+ nc, nn, nd), null)) != null)
+ {
+ switch (value.getType())
+ {
+ case "I":
+ super.visitLdcInsn(new Integer(value.getValue()));
+ break;
+ case "S":
+ super.visitIntInsn(SIPUSH, (short) value.getValue());
+ break;
+ case "B":
+ super.visitIntInsn(BIPUSH, (byte) value.getValue());
+ break;
+ }
+ }
+ }
+
+ super.visitMethodInsn(opcode, owner, name, desc, itf);
+ }
+ };
+ }
+ }, 0);
+
+ return cw.toByteArray();
+ }
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AsmMethodSignatureTransformer.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AsmMethodSignatureTransformer.java
new file mode 100644
index 0000000000..56138d4324
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AsmMethodSignatureTransformer.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.transformers;
+
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.ClassWriter;
+import org.objectweb.asm.MethodVisitor;
+import us.runelitepl.mixinprocessor.MixinProcessorMojo;
+import us.runelitepl.mixinprocessor.util.RefUtils;
+
+public class AsmMethodSignatureTransformer extends AsmBaseTransformer
+{
+
+ private final String className;
+ private final byte[] bytecode;
+
+ public AsmMethodSignatureTransformer(String className, byte[] bytecode)
+ {
+ this.className = RefUtils.deobClassName(className);
+ this.bytecode = bytecode;
+ }
+
+ @Override
+ public byte[] transform()
+ {
+ ClassReader cr = new ClassReader(bytecode);
+ ClassWriter cw = new ClassWriter(cr, ClassWriter.COMPUTE_FRAMES);
+
+ cr.accept(new ClassVisitor(ASM6, cw)
+ {
+ @Override
+ public MethodVisitor visitMethod(int access, String name, String desc, String sig, String[] exceptions)
+ {
+ MethodVisitor mv = super.visitMethod(access, name, fixMethodDesc(className, name, desc), sig, exceptions);
+ return new MethodVisitor(ASM6, mv)
+ {
+ @Override
+ public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf)
+ {
+ super.visitMethodInsn(opcode, owner, name, fixMethodDesc(owner, name, desc), itf);
+ }
+ };
+ }
+ }, 0);
+
+ return cw.toByteArray();
+ }
+
+ private String fixMethodDesc(String className, String name, String desc)
+ {
+ if(className.startsWith(RefUtils.TYPE_PREFIX))
+ {
+ className = className.substring(RefUtils.TYPE_PREFIX.length());
+ }
+ if (RefUtils.shouldReobMethod(className, name, desc))
+ {
+ if (RefUtils.reobMethodName(className, name, desc) == null)
+ {
+ // get correct descriptor
+ String realDesc = null;
+ for (String s : RefUtils.POSSIBLE_GARBAGE_TYPES)
+ {
+ String check = RefUtils.reobMethodName(className, name, RefUtils.appendArgument(desc, s));
+ if (check != null)
+ {
+ realDesc = RefUtils.appendArgument(desc, s);
+ break;
+ }
+ }
+ if (realDesc == null)
+ {
+ MixinProcessorMojo.log("Failed to find actual method descriptor for %s.%s%s", className,
+ name, desc);
+ throw new RuntimeException();
+ }
+ // fixed = realDesc
+ MixinProcessorMojo.isMethodTagged.put(String.format("%s %s %s", className, name, realDesc), true);
+ return realDesc;
+ }
+ }
+ return desc;
+ }
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AsmNameTransformer.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AsmNameTransformer.java
new file mode 100644
index 0000000000..08a5c818cb
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AsmNameTransformer.java
@@ -0,0 +1,175 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.transformers;
+
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.ClassWriter;
+import org.objectweb.asm.commons.ClassRemapper;
+import org.objectweb.asm.commons.Remapper;
+import us.runelitepl.mixinprocessor.MixinProcessorMojo;
+import us.runelitepl.mixinprocessor.util.RefUtils;
+
+public class AsmNameTransformer extends AsmBaseTransformer
+{
+
+ private String className;
+ private byte[] bytecode;
+
+ public AsmNameTransformer(String className, byte[] bytecode)
+ {
+ this.className = className;
+ this.bytecode = bytecode;
+ }
+
+ @Override
+ public byte[] transform()
+ {
+ ClassReader cr = new ClassReader(bytecode);
+ ClassWriter cw = new ClassWriter(cr, 0);
+ ClassRemapper remapper = new ClassRemapper(cw, new Remapper()
+ {
+
+ final String TYPE_PREFIX = "us/runelitepl/mixins/";
+
+ @Override
+ public String map(String internalName)
+ {
+ return super.map(internalName);
+ }
+
+ @Override
+ public String mapDesc(String descriptor)
+ {
+ return RefUtils.reobDescriptor(descriptor);
+ }
+
+ @Override
+ public String mapFieldName(String owner, String name, String descriptor)
+ {
+ String oldName = name;
+ String noPackage = owner.replace(TYPE_PREFIX, "");
+
+ descriptor = mapDesc(descriptor);
+
+ owner = RefUtils.reobClassName(owner);
+ if (RefUtils.shouldReobField(noPackage, name, descriptor))
+ {
+ name = RefUtils.reobFieldName(noPackage, name, descriptor);
+ if (name == null)
+ {
+ MixinProcessorMojo.log("Failed to reobfuscate field name %s.%s", noPackage, oldName);
+ throw new RuntimeException();
+ }
+ }
+ return super.mapFieldName(owner, name, descriptor);
+ }
+
+ @Override
+ public String mapInvokeDynamicMethodName(String name, String descriptor)
+ {
+ throw new UnsupportedOperationException("mapInvokeDynamicMethodName: Not implemented yet," +
+ "\nAsmNameTransformer#mapInvokeDynamicMethodName(" + name + ", " + descriptor + ")");
+ }
+
+ @Override
+ public String mapMethodDesc(String descriptor)
+ {
+ return RefUtils.reobMethodDescriptor(descriptor);
+ }
+
+ @Override
+ public String mapMethodName(String owner, String name, String descriptor)
+ {
+ String originalClass = owner;
+ if (originalClass.startsWith(TYPE_PREFIX))
+ {
+ originalClass = originalClass.substring(TYPE_PREFIX.length());
+ }
+ owner = RefUtils.reobClassName(owner);
+ if (name.startsWith("protect$"))
+ {
+ name = "1" + name;
+ }
+ // descriptor for reob checking is obfuscated
+ descriptor = mapMethodDesc(descriptor);
+ boolean reob = RefUtils.shouldReobMethod(originalClass, name, descriptor);
+
+ if (reob)
+ {
+ String originalName = name;
+ name = RefUtils.reobMethodName(originalClass, name, descriptor);
+ if (name == null)
+ {
+ MixinProcessorMojo.log("Failed to reobfuscate method: %s.%s%s", originalClass, originalName,
+ descriptor);
+ throw new RuntimeException();
+ }
+ }
+
+
+ //stderr("mapMethodName %s %s %s", owner, name, descriptor);
+ return super.mapMethodName(owner, name, descriptor);
+ }
+
+ @Override
+ public String mapPackageName(String name)
+ {
+ throw new UnsupportedOperationException("mapPackageName: Not implemented yet," +
+ "\nAsmNameTransformer#mapPackageName(" + name + ")");
+ }
+
+ @Override
+ public String mapSignature(String signature, boolean isTypeSig)
+ {
+ return super.mapSignature(signature, isTypeSig);
+ }
+
+ @Override
+ public String mapType(String internalName)
+ {
+ internalName = RefUtils.reobClassName(internalName);
+ return super.mapType(internalName);
+ }
+
+ @Override
+ public String[] mapTypes(String[] internalNames)
+ {
+ return super.mapTypes(internalNames);
+ }
+
+ @Override
+ public Object mapValue(Object value)
+ {
+ return super.mapValue(value);
+ }
+
+ });
+
+ cr.accept(remapper, 0);
+
+ return cw.toByteArray();
+ }
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AsmStaticUsageTransformer.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AsmStaticUsageTransformer.java
new file mode 100644
index 0000000000..2f0f1b8a35
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/AsmStaticUsageTransformer.java
@@ -0,0 +1,119 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.transformers;
+
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.ClassWriter;
+import org.objectweb.asm.MethodVisitor;
+import us.runelitepl.mixinprocessor.MixinProcessorMojo;
+import us.runelitepl.mixinprocessor.util.RefUtils;
+
+import static org.objectweb.asm.Opcodes.ASM6;
+import static org.objectweb.asm.Opcodes.GETSTATIC;
+import static org.objectweb.asm.Opcodes.INVOKESTATIC;
+import static org.objectweb.asm.Opcodes.PUTSTATIC;
+
+public class AsmStaticUsageTransformer extends AsmBaseTransformer
+{
+
+ private String className;
+ private byte[] bytecode;
+ private final String TYPE_PREFIX = "us/runelitepl/mixins/";
+
+ public AsmStaticUsageTransformer(String className, byte[] bytecode)
+ {
+ this.className = className;
+ this.bytecode = bytecode;
+ }
+
+ @Override
+ public byte[] transform()
+ {
+ ClassReader cr = new ClassReader(bytecode);
+ ClassWriter cw = new ClassWriter(cr, 0);
+ ClassVisitor cv = new ClassVisitor(ASM6, cw)
+ {
+ @Override
+ public MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions)
+ {
+ MethodVisitor visitor = super.visitMethod(access, name, descriptor, signature, exceptions);
+ return new MethodVisitor(ASM6, visitor)
+ {
+ @Override
+ public void visitFieldInsn(int opcode, String owner, String name, String descriptor)
+ {
+ if ((opcode == GETSTATIC || opcode == PUTSTATIC) && owner.endsWith(RefUtils.STATICS_STRING))
+ {
+ String oldName = name;
+ String originalOwner = owner.replace(TYPE_PREFIX, "");
+ String temp = RefUtils.reobFieldNameDangerous(name, RefUtils.reobDescriptor(descriptor));
+ if (temp == null)
+ {
+ MixinProcessorMojo.log("Failed to reobfuscate class name for field %s %s %s", owner,
+ name, descriptor);
+ throw new RuntimeException();
+ }
+ owner = temp.split(" ")[0];
+ if (RefUtils.shouldReobField(originalOwner, name, RefUtils.reobDescriptor(descriptor)))
+ {
+ name = temp.split(" ")[1];
+ }
+ }
+ super.visitFieldInsn(opcode, owner, name, descriptor);
+ }
+
+ @Override
+ public void visitMethodInsn(int opcode, String owner, String name, String descriptor, boolean isInterface)
+ {
+ if(opcode == INVOKESTATIC && owner.endsWith(RefUtils.STATICS_STRING))
+ {
+ String originalOwner = owner.replace(TYPE_PREFIX, "");
+ String temp = RefUtils.reobMethodName(RefUtils.STATICS_STRING, name, descriptor);
+ if (temp == null)
+ {
+ MixinProcessorMojo.log("Failed to reobfuscate class name for method %s %s %s", owner,
+ name, descriptor);
+ throw new RuntimeException();
+ }
+ owner = temp.split(" ")[0];
+ if (RefUtils.shouldReobMethod(originalOwner, name, descriptor))
+ {
+ name = temp.split(" ")[1];
+ }
+ }
+ super.visitMethodInsn(opcode, owner, name, descriptor, isInterface);
+ }
+ };
+ }
+ };
+
+ cr.accept(cv, 0);
+
+ return cw.toByteArray();
+ }
+
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/DoNothingTransformer.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/DoNothingTransformer.java
new file mode 100644
index 0000000000..b5174d3bd7
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/DoNothingTransformer.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.transformers;
+
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.ClassWriter;
+
+public class DoNothingTransformer extends AsmBaseTransformer
+{
+
+ private final String className;
+ private final byte[] bytecode;
+
+ public DoNothingTransformer(String className, byte[] bytecode)
+ {
+ this.className = className;
+ this.bytecode = bytecode;
+ }
+
+ @Override
+ public byte[] transform()
+ {
+
+ ClassReader cr = new ClassReader(bytecode);
+ ClassWriter cw = new ClassWriter(cr, ClassWriter.COMPUTE_FRAMES);
+
+ cr.accept(new ClassVisitor(ASM6, cw)
+ {}, 0);
+
+ return cw.toByteArray();
+ }
+}
\ No newline at end of file
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/GetFieldDecoderTransformer.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/GetFieldDecoderTransformer.java
new file mode 100644
index 0000000000..72dcb89b4d
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/GetFieldDecoderTransformer.java
@@ -0,0 +1,196 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.transformers;
+
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.ClassWriter;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+import us.runelitepl.mixinprocessor.MixinProcessorMojo;
+import us.runelitepl.mixinprocessor.util.RefUtils;
+
+public class GetFieldDecoderTransformer extends AsmBaseTransformer
+{
+
+ private final String className;
+ private final byte[] classFileBytecode;
+
+ public GetFieldDecoderTransformer(String className, byte[] bytes)
+ {
+ this.className = className;
+ this.classFileBytecode = bytes;
+ }
+
+ @Override
+ public void buildMethodList()
+ {
+ ClassReader cr = new ClassReader(classFileBytecode);
+ ClassWriter cw = new ClassWriter(cr, 0);
+ cr.accept(new ClassVisitor(Opcodes.ASM6, cw)
+ {
+ @Override
+ public MethodVisitor visitMethod(int access, String name, String desc, String signature,
+ String[] exceptions)
+ {
+ final boolean[] valid = {true};
+ MethodVisitor visitor = super.visitMethod(access, name, desc, signature, exceptions);
+ return new MethodVisitor(Opcodes.ASM6, visitor)
+ {
+ int opcodeCount = 0;
+
+ @Override
+ public void visitEnd()
+ {
+ if (valid[0])
+ {
+ MixinProcessorMojo.log("Valid method: %s %s %s %s", access, name, desc, signature);
+ validMethods.add(access + " " + name + " " + desc + " " + signature);
+ }
+ }
+
+ @Override
+ public void visitVarInsn(int opcode, int var)
+ {
+ if (opcode != Opcodes.ALOAD || var != 0 || opcodeCount != 0)
+ {
+ valid[0] = false;
+ }
+ opcodeCount++;
+
+ super.visitVarInsn(opcode, var);
+ }
+
+ @Override
+ public void visitFieldInsn(int opcode, String owner, String fieldName, String signature)
+ {
+ if (opcode != Opcodes.GETFIELD || opcodeCount != 1)
+ {
+ valid[0] = false;
+ }
+ opcodeCount++;
+
+ super.visitFieldInsn(opcode, owner, fieldName, signature);
+ }
+
+ @Override
+ public void visitLdcInsn(Object o)
+ {
+ if (!(o instanceof Integer) && !(o instanceof Long))
+ {
+ valid[0] = false;
+ }
+ if (opcodeCount != 2)
+ {
+ valid[0] = false;
+ }
+ opcodeCount++;
+ super.visitLdcInsn(o);
+ }
+
+ @Override
+ public void visitInsn(int opcode)
+ {
+ switch (opcode)
+ {
+ case Opcodes.IMUL:
+ if (opcodeCount != 3)
+ {
+ valid[0] = false;
+ }
+ break;
+ case Opcodes.IRETURN:
+ if (opcodeCount != 4)
+ {
+ valid[0] = false;
+ }
+ break;
+ default:
+ valid[0] = false;
+ break;
+ }
+ opcodeCount++;
+ super.visitInsn(opcode);
+ }
+ };
+ }
+ }, 0);
+ }
+
+ public byte[] transform()
+ {
+ buildMethodList();
+ ClassReader cr = new ClassReader(classFileBytecode);
+ ClassWriter cw = new ClassWriter(cr, 0);
+ cr.accept(new ClassVisitor(Opcodes.ASM6, cw)
+ {
+ @Override
+ public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions)
+ {
+ MethodVisitor visitor = super.visitMethod(access, name, desc, signature, exceptions);
+ if (!validMethods.contains(access + " " + name + " " + desc + " " + signature))
+ {
+ return visitor;
+ }
+ return new MethodVisitor(Opcodes.ASM6, visitor)
+ {
+ String target = null;
+
+ @Override
+ public void visitFieldInsn(int opcode, String owner, String fieldName, String signature)
+ {
+ target = fieldName;
+ super.visitFieldInsn(opcode, owner, fieldName, signature);
+ }
+
+ @Override
+ public void visitLdcInsn(Object o)
+ {
+ if (target != null)
+ {
+ if (o instanceof Long)
+ {
+ o = MixinProcessorMojo.fieldDecoders.getOrDefault(
+ RefUtils.deobClassName(className) + " " + target, 1L);
+ }
+ else
+ {
+ o = Math.toIntExact(MixinProcessorMojo.fieldDecoders.getOrDefault(RefUtils.deobClassName(className) +
+ " " + target,
+ 1L));
+ }
+ }
+ MixinProcessorMojo.log("\tGetFieldDecoderTransformer: %s %s %s %s %s",
+ RefUtils.deobClassName(className), name, target, desc, o);
+ super.visitLdcInsn(o);
+ }
+ };
+ }
+ }, 0);
+ return cw.toByteArray();
+ }
+
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/ProvidedRemoverTransformer.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/ProvidedRemoverTransformer.java
new file mode 100644
index 0000000000..8334cad1cb
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/transformers/ProvidedRemoverTransformer.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.transformers;
+
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.ClassWriter;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.tree.AnnotationNode;
+import org.objectweb.asm.tree.ClassNode;
+import org.objectweb.asm.tree.MethodNode;
+import us.runelitepl.mixinprocessor.MixinProcessorMojo;
+
+public class ProvidedRemoverTransformer extends AsmBaseTransformer
+{
+
+ private final String className;
+ private final byte[] bytecode;
+
+ public ProvidedRemoverTransformer(String className, byte[] bytecode)
+ {
+ this.className = className;
+ this.bytecode = bytecode;
+ }
+
+ public void buildMethodList()
+ {
+ ClassReader cr = new ClassReader(bytecode);
+ ClassNode node = new ClassNode();
+ cr.accept(node, 0);
+
+ for(Object obj : node.methods)
+ {
+ MethodNode method = (MethodNode) obj;
+ if(method == null)
+ {
+ MixinProcessorMojo.log("ProvidedRemoverTransformer: Method null?");
+ continue;
+ }
+ if(method.visibleAnnotations == null)
+ {
+ continue;
+ }
+ for(Object obj2 : method.visibleAnnotations)
+ {
+ AnnotationNode annot = (AnnotationNode) obj2;
+ if(annot.desc.equals(AnnotationRemoverTransformer.makeAnnotationDescriptor("Provided")))
+ {
+ validMethods.add(method.access + " " + method.desc + " " + method.name);
+ }
+ }
+ }
+ }
+
+ @Override
+ public byte[] transform()
+ {
+ buildMethodList();
+ ClassReader cr = new ClassReader(bytecode);
+ ClassWriter cw = new ClassWriter(cr, 0);
+ cr.accept(new ClassVisitor(Opcodes.ASM6, cw)
+ {
+ @Override
+ public MethodVisitor visitMethod(int access, String name, String desc, String signature,
+ String[] exceptions)
+ {
+ if(validMethods.contains(access + " " + desc + " " + name))
+ {
+ return null;
+ }
+ return super.visitMethod(access, name, desc, signature, exceptions);
+ }
+ }, 0);
+
+ return cw.toByteArray();
+ }
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/util/JavassistUtils.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/util/JavassistUtils.java
new file mode 100644
index 0000000000..4da33b643a
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/util/JavassistUtils.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.util;
+
+import javassist.CannotCompileException;
+import javassist.CtClass;
+
+import java.io.IOException;
+
+public class JavassistUtils
+{
+
+ public static byte[] getClassBytecode(CtClass clazz) throws IOException, CannotCompileException
+ {
+ clazz.stopPruning(true);
+ byte[] retVal = clazz.toBytecode();
+ clazz.defrost();
+ return retVal;
+ }
+
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/util/RefUtils.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/util/RefUtils.java
new file mode 100644
index 0000000000..11b94125a0
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/util/RefUtils.java
@@ -0,0 +1,347 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.util;
+
+import us.runelitepl.mixinprocessor.MixinProcessorMojo;
+
+import java.util.Map;
+
+public class RefUtils
+{
+
+ public static final String TYPE_PREFIX = "us/runelitepl/mixins/";
+ public static final String STATICS_STRING = "_Statics_";
+ public static final String[] POSSIBLE_GARBAGE_TYPES = {"I", "B", "S"};
+
+ public static String deobClassName(String obbed)
+ {
+ for (Map.Entry entry : MixinProcessorMojo.classNames.entrySet())
+ {
+ if (entry.getValue().equals(obbed))
+ {
+ return entry.getKey();
+ }
+ }
+ return obbed;
+ }
+
+ public static String getObbedClassName(String deob)
+ {
+ return MixinProcessorMojo.classNames.getOrDefault(deob, deob);
+ }
+
+ public static String reobClassName(String deobbed)
+ {
+ String old = deobbed;
+ if (deobbed.contains("/"))
+ {
+ deobbed = deobbed.replaceAll(TYPE_PREFIX, "");
+ deobbed = getObbedClassName(deobbed);
+ if (deobbed == null)
+ {
+ return old;
+ }
+ }
+ return deobbed;
+ }
+
+ @Deprecated
+ public static String reobFieldNameDangerous(String deob, String desc)
+ {
+ int i = 0;
+ Map.Entry e1 = null;
+ for (Map.Entry entry : MixinProcessorMojo.fieldNames.entrySet())
+ {
+ if (entry.getKey().endsWith(deob + " " + desc))
+ {
+ i++;
+ e1 = entry;
+ }
+ }
+ if (i == 1)
+ {
+ return e1.getValue();
+ }
+ return null;
+ }
+
+ @Deprecated
+ public static String reobMethodNameDangerous(String deob, String signature)
+ {
+ int i = 0;
+ Map.Entry e1 = null;
+ for (Map.Entry entry : MixinProcessorMojo.methodNames.entrySet())
+ {
+ if (entry.getKey().endsWith(" " + deob + " " + signature))
+ {
+ i++;
+ e1 = entry;
+ }
+ }
+ if (i == 1)
+ {
+ return e1.getValue();
+ }
+ return null;
+ }
+
+ public static String reobFieldName(String owner, String deob, String desc)
+ {
+ if (owner.equals(RefUtils.STATICS_STRING))
+ {
+ return reobFieldNameDangerous(deob, desc);
+ }
+ String asd = MixinProcessorMojo.fieldNames.getOrDefault(owner + " " + deob + " " + desc, null);
+ if (asd == null)
+ {
+ return null;
+ }
+ return asd.split(" ")[1];
+ }
+
+ public static String reobMethodName(String owner, String deob, String signature)
+ {
+ String prefix = "";
+ if(owner.startsWith(RefUtils.TYPE_PREFIX))
+ {
+ owner = owner.substring(RefUtils.TYPE_PREFIX.length());
+ }
+ if (deob.startsWith("prepend$"))
+ {
+ prefix = "prepend$";
+ deob = deob.substring("prepend$".length());
+ }
+ else if (deob.startsWith("append$"))
+ {
+ prefix = "append$";
+ deob = deob.substring("append$".length());
+ }
+ if (owner.equals(RefUtils.STATICS_STRING))
+ {
+ String retVal = reobMethodNameDangerous(deob, signature);
+ if (retVal == null)
+ {
+ return null;
+ }
+ String[] split = retVal.split(" ");
+ split[1] = prefix + split[1];
+ return String.join(" ", split);
+ }
+ String asd = MixinProcessorMojo.methodNames.getOrDefault(owner + " " + deob + " " + signature, null);
+ if (asd == null)
+ {
+ return null;
+ }
+ return prefix + asd.split(" ")[1];
+ }
+
+ @Deprecated
+ public static boolean shouldReobFieldDangerous(String deob, String desc)
+ {
+ int i = 0;
+ for (Map.Entry entry : MixinProcessorMojo.isFieldTagged.entrySet())
+ {
+ if (entry.getKey().endsWith(deob + " " + desc))
+ {
+ i++;
+ }
+ }
+ if (i == 1)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ @Deprecated
+ public static boolean shouldReobMethodDangerous(String deob, String desc)
+ {
+ int i = 0;
+ for (Map.Entry entry : MixinProcessorMojo.isMethodTagged.entrySet())
+ {
+ if (entry.getKey().endsWith(" " + deob + " " + desc))
+ {
+ i++;
+ }
+ }
+ if (i == 1)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ public static boolean shouldReobField(String owner, String deob, String desc)
+ {
+ if (owner.equals(RefUtils.STATICS_STRING))
+ {
+ return shouldReobFieldDangerous(deob, desc);
+ }
+ return MixinProcessorMojo.isFieldTagged.getOrDefault(owner + " " + deob + " " + desc, false);
+ }
+
+ public static boolean shouldReobMethod(String owner, String deob, String desc)
+ {
+ if(owner.startsWith(RefUtils.TYPE_PREFIX))
+ {
+ owner = owner.substring(RefUtils.TYPE_PREFIX.length());
+ }
+ if (owner.equals(RefUtils.STATICS_STRING))
+ {
+ return shouldReobMethodDangerous(deob, desc);
+ }
+ return MixinProcessorMojo.isMethodTagged.getOrDefault(owner + " " + deob + " " + desc, false);
+ }
+
+ public static String reobDescriptor(String descriptor)
+ {
+ if (!descriptor.startsWith("L"))
+ {
+ return descriptor;
+ }
+ if (!descriptor.contains("us/runelitepl/mixins/"))
+ {
+ return descriptor;
+ }
+ String orig = descriptor;
+ descriptor = descriptor.replace("us/runelitepl/mixins/", "");
+ descriptor = descriptor.substring(1, descriptor.length() - 1);
+ descriptor = getObbedClassName(descriptor);
+ if (descriptor == null)
+ {
+ return orig;
+ }
+ return "L" + descriptor + ";";
+ }
+
+ public static String reobMethodDescriptor(String descriptor)
+ {
+ int strIndex = 0;
+ if (descriptor.charAt(0) != '(')
+ {
+ throw new IllegalArgumentException("sig is not a method signature: " + descriptor);
+ }
+ StringBuilder deobbed = new StringBuilder(1024 * 1024);
+ while (strIndex < descriptor.length())
+ {
+ switch (descriptor.charAt(strIndex))
+ {
+ case '(':
+ case ')':
+ case 'I':
+ case 'B':
+ case 'J':
+ case 'S':
+ case 'D':
+ case 'F':
+ case 'C':
+ case 'Z':
+ case 'V':
+ case '[':
+ deobbed.append(descriptor.charAt(strIndex));
+ strIndex++;
+ break;
+ case 'L':
+ try
+ {
+ String sigPart = descriptor.substring(strIndex, descriptor.indexOf(";", strIndex) + 1);
+ String className = sigPart.substring(1, sigPart.length() - 1);
+ className = className.replace(TYPE_PREFIX, "");
+ String obbedName = MixinProcessorMojo.classNames.getOrDefault(className, null);
+ if (obbedName == null)
+ {
+ obbedName = className;
+ }
+ deobbed.append("L" + obbedName + ";");
+ strIndex += sigPart.length();
+ }
+ catch (StringIndexOutOfBoundsException ex)
+ {
+ System.err.println(
+ "Method signature %s is probably missing a semi-colon".replace("%s", descriptor));
+ throw ex;
+ }
+ break;
+ default:
+ throw new IllegalArgumentException("signature is invalid: " + descriptor);
+ }
+ }
+ return deobbed.toString();
+ }
+
+ public static String appendArgument(String desc, String append)
+ {
+ int strIndex = 0;
+ if (desc.charAt(0) != '(')
+ {
+ throw new IllegalArgumentException("sig is not a method signature: " + desc);
+ }
+ StringBuilder deobbed = new StringBuilder(1024 * 1024);
+ while (strIndex < desc.length())
+ {
+ switch (desc.charAt(strIndex))
+ {
+ case ')':
+ deobbed.append(append);
+ deobbed.append(")");
+ strIndex++;
+ break;
+ case '(':
+ case 'I':
+ case 'B':
+ case 'J':
+ case 'S':
+ case 'D':
+ case 'F':
+ case 'C':
+ case 'Z':
+ case 'V':
+ case '[':
+ deobbed.append(desc.charAt(strIndex));
+ strIndex++;
+ break;
+ case 'L':
+ try
+ {
+ String sigPart = desc.substring(strIndex, desc.indexOf(";", strIndex) + 1);
+ deobbed.append(sigPart);
+ strIndex += sigPart.length();
+ }
+ catch (StringIndexOutOfBoundsException ex)
+ {
+ System.err.println(
+ "Method signature %s is probably missing a semi-colon".replace("%s", desc));
+ throw ex;
+ }
+ break;
+ default:
+ throw new IllegalArgumentException("signature is invalid: " + desc);
+ }
+ }
+ return deobbed.toString();
+ }
+
+}
diff --git a/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/util/WebUtils.java b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/util/WebUtils.java
new file mode 100644
index 0000000000..0b4364be6b
--- /dev/null
+++ b/extended-mixin-processor/src/main/java/us/runelitepl/mixinprocessor/util/WebUtils.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.util;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.net.URLConnection;
+import java.nio.charset.StandardCharsets;
+import java.util.stream.Collectors;
+
+public class WebUtils
+{
+
+ public static String getUrlContent(String url) throws IOException
+ {
+ String pageText;
+ URLConnection conn = new URL(url).openConnection();
+ try (BufferedReader reader = new BufferedReader(
+ new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8)))
+ {
+ pageText = reader.lines().collect(Collectors.joining("\n"));
+ }
+ return pageText;
+ }
+
+ public static byte[] downloadFile(String urlText) throws IOException {
+ URL url = new URL(urlText);
+ ByteArrayOutputStream output = new ByteArrayOutputStream();
+
+ try (InputStream inputStream = url.openStream()) {
+ int n = 0;
+ byte [] buffer = new byte[ 1024 ];
+ while (-1 != (n = inputStream.read(buffer))) {
+ output.write(buffer, 0, n);
+ }
+ }
+
+ return output.toByteArray();
+ }
+
+}
diff --git a/extended-mixin-processor/src/main/resources/mixin-processor-license.txt b/extended-mixin-processor/src/main/resources/mixin-processor-license.txt
new file mode 100644
index 0000000000..bd0eb98d86
--- /dev/null
+++ b/extended-mixin-processor/src/main/resources/mixin-processor-license.txt
@@ -0,0 +1,22 @@
+ Copyright (c) 2019, ThatGamerBlue
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/extended-mixins/gamepack.deob.jar.op.json b/extended-mixins/gamepack.deob.jar.op.json
new file mode 100644
index 0000000000..347a0fee71
--- /dev/null
+++ b/extended-mixins/gamepack.deob.jar.op.json
@@ -0,0 +1,864 @@
+{
+ "aa.aa(IILw;I)V" : -2035282490,
+ "aa.ab(IILjava/util/HashSet;IB)V" : 1,
+ "aa.ae(Lat;Ljd;IIFB)V" : 2,
+ "aa.ah(Ljava/util/HashSet;IIB)V" : 3,
+ "aa.ai(Ljd;I)Lay;" : 868142981,
+ "aa.aq(IIIIII)Ljava/util/List;" : 1174387475,
+ "aa.at(Ljd;IIB)V" : 2,
+ "aa.av(IILjava/util/HashSet;IB)V" : 1,
+ "aa.aw(Ljd;IIIIB)V" : 2,
+ "aa.az(IIIIB)V" : 1,
+ "aa.b(I)V" : -734187576,
+ "aa.c(IILw;[Llv;I)V" : -2131355084,
+ "aa.e(ILar;[Llv;Liz;Liz;I)V" : 16776959,
+ "aa.f(IIIILw;I)V" : 935523592,
+ "aa.g(IIIB)V" : 8,
+ "aa.h(Liz;Ljava/lang/String;Ljava/lang/String;I)Llv;" : -751125902,
+ "aa.h(Ljava/util/HashSet;Ljava/util/List;I)V" : 761583671,
+ "aa.js(Lia;S)V" : 179,
+ "aa.k(IILw;Lar;I)V" : -912761612,
+ "aa.l(Lar;[Llv;Laf;I)V" : -1342196991,
+ "aa.m(I)V" : -1460781870,
+ "aa.n(Liz;B)Z" : -3,
+ "aa.o(Lar;[Llv;Laf;I)V" : 1404817235,
+ "aa.p(Ljy;IIILw;I)V" : 451857695,
+ "aa.q(Ljava/util/List;I)V" : 457654499,
+ "aa.r(IIILjava/util/HashSet;I)V" : 866122217,
+ "aa.t(Ljava/util/HashSet;IIB)V" : 1,
+ "aa.x(Liz;Ljava/lang/String;Ljava/lang/String;I)[Llv;" : -6949303,
+ "aa.y(IILw;Lar;Laf;I)V" : -1385397238,
+ "ab.ar(Ldo;I)V" : -1176858873,
+ "ac.ao(ILcs;ZI)I" : 1813401528,
+ "ac.h(II)V" : 1006232361,
+ "ac.jy([Lia;IIIIIIIB)V" : -1,
+ "ad.hv(IIIIIIII)V" : -430708112,
+ "ad.it(I)V" : -983568512,
+ "ae.t(II)I" : 784278107,
+ "af.a(I)Z" : -2131769709,
+ "af.a(Liz;Liz;I)Z" : -1899763683,
+ "ag.a(Lgx;IB)V" : -1,
+ "ag.ai(ILcs;ZB)I" : -1,
+ "ag.f(III)Lif;" : -435462727,
+ "ag.g(IIII)Z" : 318472532,
+ "ag.h(IIII)[I" : -199162200,
+ "ag.p(I)V" : -1011260827,
+ "ag.x(IIS)Z" : 5119,
+ "ah.kc(Lia;II)Ljava/lang/String;" : -1474185799,
+ "aj.cg(Lgx;ZI)V" : -1515872014,
+ "aj.ch(Lgx;Lgx;IZB)V" : 0,
+ "aj.jw(Lia;III)V" : 572830405,
+ "aj.kk(Lia;I)Ljava/lang/String;" : -96310975,
+ "aj.x(Lge;II)V" : 628965387,
+ "ak.ki(II)V" : -1090851287,
+ "ak.s(Ljava/lang/String;I)Z" : -1560533677,
+ "an.a(Lag;B)V" : -1,
+ "an.at(ILcs;ZI)I" : 1073402399,
+ "an.g(III)Z" : 1060896560,
+ "an.h(III)Lif;" : -175568126,
+ "an.iw(Ljg;IIIS)V" : 1400,
+ "an.m(I)V" : 734935008,
+ "an.s(IIII)Z" : -1346882543,
+ "an.x(IIIB)[I" : 2,
+ "ap.a(I)V" : 75666286,
+ "ap.g(I)I" : 2098880503,
+ "ap.h(I)V" : 1211258439,
+ "aq.a(Lag;B)V" : -1,
+ "aq.g(III)Z" : 1060896560,
+ "aq.h(III)Lif;" : -175568126,
+ "aq.iu(IIIILjava/lang/String;Ljava/lang/String;III)V" : -1659892465,
+ "aq.s(IIII)Z" : -1346882543,
+ "aq.x(IIIB)[I" : 2,
+ "ar.a(IIIIIIIII)V" : -2059524070,
+ "ar.aj(ILcs;ZI)I" : 1205981872,
+ "ar.b(I)V" : -901714140,
+ "ar.e(I)V" : -478549233,
+ "ar.f(I)V" : 452761503,
+ "ar.g(II)I" : 1269863705,
+ "ar.h(I)V" : -1899763684,
+ "ar.m(I)V" : -1516729905,
+ "ar.n(I)V" : -58041941,
+ "ar.p(B)V" : 2,
+ "ar.q(I)V" : -1649013667,
+ "ar.s(III)I" : -1801980882,
+ "ar.s(Lbr;II)V" : 1598019254,
+ "ar.x(I)V" : 1645884426,
+ "as.a(Lgx;I)V" : -1899763684,
+ "as.hn(III)V" : -16711937,
+ "as.s(Lfs;Lgb;I)Lfa;" : 92068864,
+ "as.s(Lgx;I)V" : -1171328621,
+ "at.aw(Lfo;IIB)Lcz;" : -1,
+ "at.hy(III)I" : 1565568466,
+ "at.k(III)Z" : 600452826,
+ "at.o(III)Z" : 915702491,
+ "at.u(B)Z" : 10,
+ "at.y(III)Z" : -1304203093,
+ "av.a(Liz;Ljava/lang/String;ZI)V" : -1168992218,
+ "av.b(I)V" : -317778031,
+ "av.f(IIIIIIIIIII)Ljava/util/List;" : 1272296080,
+ "av.fd(I)V" : -1013343582,
+ "av.g(IIIIIIIII)V" : 1968023039,
+ "av.gn(I)V" : -1529421636,
+ "av.h(IIIILjava/util/HashSet;III)V" : -1503826011,
+ "av.lt(IIIZI)V" : 1023839648,
+ "av.n(III)F" : -2092073595,
+ "av.p(IIIII)Li;" : 54912543,
+ "av.x(IIIIIIIILjava/util/HashSet;Ljava/util/HashSet;IIZI)V" : -350567508,
+ "aw.gf(I)Z" : -25482427,
+ "ax.ge(IIIIS)V" : 254,
+ "ay.a(Lge;I)V" : 413663544,
+ "ay.f(II)V" : -1832203148,
+ "ay.fa(Lia;III)V" : -2035282490,
+ "ay.fb(IB)V" : -1,
+ "ay.s(II)Ljd;" : 256302879,
+ "ay.s(Lin;IIIBZI)V" : 488112187,
+ "az.jl(Lia;IIZI)V" : 321367859,
+ "az.k(IIB)Z" : 1,
+ "az.s(III)I" : -1587813654,
+ "b.s(IB)Ljy;" : 1,
+ "b.x(B)I" : 2,
+ "ba.a(IB)Lcs;" : -1,
+ "ba.a(II)V" : -1476367704,
+ "ba.m([BIIIIIIILen;[Lfk;S)V" : 3138,
+ "ba.q(I)Ldv;" : 270868885,
+ "ba.s(IIIIB)V" : -1,
+ "bb.a(IIILfk;I)Z" : -747978109,
+ "bb.hw(B)V" : 0,
+ "bc.a(I)J" : 1696302624,
+ "bc.aa(Ljava/lang/String;S)V" : 335,
+ "bc.ah(Lkx;B)Z" : 0,
+ "bc.c(Ljava/lang/String;I)V" : 582720271,
+ "bc.f(Lkx;ZB)Z" : 1,
+ "bc.g(Lgx;IB)V" : 0,
+ "bc.im(III)V" : 2028526097,
+ "bc.l(B)Z" : 2,
+ "bc.m(Ljava/lang/String;B)V" : 125,
+ "bc.o(Ljava/lang/String;I)V" : -1157261130,
+ "bc.p(Lkx;I)Z" : -1555038210,
+ "bc.v(I)Z" : -1393904298,
+ "bc.x(I)V" : 1950661086,
+ "bd.ie(II)V" : 181127396,
+ "bd.o(ILcs;ZI)I" : 413151829,
+ "be.iv(IIIII)V" : -325933819,
+ "be.n(Lia;II)V" : 1817349453,
+ "be.s(Ljava/lang/String;B)Ljava/io/File;" : 2,
+ "be.u(ILcs;ZB)I" : 0,
+ "be.x([BB)Lcs;" : 11,
+ "bf.aa(B)V" : 101,
+ "bf.ab(I)V" : 142936820,
+ "bf.ah(S)V" : 200,
+ "bf.ai(Ljava/lang/String;I)V" : -790939352,
+ "bf.al(I)Llh;" : -1432486026,
+ "bf.an(I)V" : -668210151,
+ "bf.aq(B)Ljava/awt/Container;" : 17,
+ "bf.as(ILjava/lang/String;ZI)V" : -1600069416,
+ "bf.b(I)V" : -1709249029,
+ "bf.c(I)Z" : 671133062,
+ "bf.e(I)V" : -721353869,
+ "bf.f(Ljava/lang/Object;I)V" : 721091452,
+ "bf.h(III)V" : -508854098,
+ "bf.k(IIIB)V" : 1,
+ "bf.l(B)V" : 1,
+ "bf.p(B)Lff;" : 1,
+ "bf.t(I)V" : -1101149948,
+ "bf.v(I)V" : 546631502,
+ "bg.a(IS)Ljc;" : 129,
+ "bh.a(Lm;Lm;I)I" : -513481130,
+ "bh.g(I)Lbt;" : -1460580553,
+ "bh.gg(I)V" : 283302901,
+ "bi.e(ILcs;ZI)I" : -1073407294,
+ "bi.gd(I)V" : -2017298644,
+ "bj.a(IB)Z" : 29,
+ "bj.a(Lgx;I)Ljava/lang/Integer;" : 781966774,
+ "bk.gu(Lbq;I)V" : -847852752,
+ "bk.jc(II)Z" : -1251166831,
+ "bk.ku(IIII)Lbk;" : -2131355082,
+ "bl.a(CI)B" : 1789306866,
+ "bl.f(Ljava/lang/Object;ZI)[B" : -1859268163,
+ "bl.g(I)Z" : 459972945,
+ "bl.jv(Lia;I)Lia;" : 388836110,
+ "bl.m(B)V" : -2,
+ "bl.p(B)V" : 3,
+ "bl.x(I)V" : -2005241970,
+ "bl.x(IB)Z" : 0,
+ "bm.a(IIIIB)V" : 0,
+ "bm.s(IB)Lby;" : -2,
+ "bn.g(I)V" : 260585226,
+ "bn.id([Lia;IIIIIIIIB)V" : 8,
+ "bn.io(Ljava/lang/String;Lia;B)Ljava/lang/String;" : 30,
+ "bn.s(ZZI)Llv;" : 1183417792,
+ "bn.x(Lbf;B)V" : 5,
+ "bo.a(IB)Ljf;" : 3,
+ "bo.av(ILcs;ZI)I" : -1854356000,
+ "bo.f(Lge;B)V" : 2,
+ "bo.f(Ljava/awt/event/MouseEvent;I)I" : 578646374,
+ "bo.il(IIIII)V" : 1757949424,
+ "bp.a(I)Z" : -1433048567,
+ "bp.a(II)Lln;" : 302241702,
+ "bq.a(Lin;II)V" : 1001198726,
+ "bq.bd(IIIIIII)V" : 611628477,
+ "bq.bi(II)V" : -1433857362,
+ "bq.bz(IIIIIII)V" : 1567325514,
+ "bq.f(ILcs;ZI)I" : -1899763682,
+ "bq.f(Lbu;Lbu;IZIZI)I" : 1226102711,
+ "bq.h(ILcs;ZB)I" : -1,
+ "br.kv(Ljava/lang/String;ZI)V" : 1790593369,
+ "bs.a(I)V" : -355288644,
+ "bs.av([BB)[B" : 1,
+ "bs.ji(III)V" : 548342891,
+ "bt.at(I)V" : -1263025777,
+ "bt.gi(Lbq;II)V" : -1529490784,
+ "bt.s(I)Lgx;" : 74387722,
+ "bt.s(IIII)I" : -781205087,
+ "bt.v(ILcs;ZB)I" : 1,
+ "bu.a(IIB)I" : 1,
+ "bu.b(I)Z" : -1114257374,
+ "bu.e(I)Z" : -1716454843,
+ "bu.h([BZI)Ljava/lang/Object;" : 738732180,
+ "bu.n(I)Z" : 1001949846,
+ "bu.r(I)Z" : -1318371617,
+ "bu.t(I)Z" : -556326313,
+ "bv.a(I)V" : 1118589205,
+ "bv.is(Ljava/lang/String;Ljava/lang/String;IIIIZI)V" : 936248646,
+ "bw.a(IILfu;Lfk;I)Z" : -1973878234,
+ "bw.a(Lgx;B)V" : 9,
+ "bw.b(IIBI)V" : 1555038206,
+ "bw.e(IIBB)V" : -1,
+ "bw.h(B)V" : 126,
+ "bw.h(I)Z" : -1285553478,
+ "bw.m(B)I" : 1,
+ "bw.p(B)V" : 8,
+ "bw.q(I)Ldv;" : 270868885,
+ "bw.r(I)Z" : -1348553985,
+ "bw.s(B)Z" : 1,
+ "bw.x(B)V" : 100,
+ "bx.q(Lia;I[B[BB)V" : 0,
+ "bx.s(IB)Ljx;" : -2,
+ "by.ad(II)V" : -264070302,
+ "by.ah(IZII)V" : 261286606,
+ "bz.jn([Lia;Lia;ZI)V" : 1459213909,
+ "bz.t(ILcs;ZB)I" : 3,
+ "c.ib(IIIII)V" : 27853463,
+ "c.r(I)V" : 1334087347,
+ "cb.aa(ILcs;ZI)I" : 599221667,
+ "cb.az(ILcs;ZI)I" : -1971585838,
+ "cb.iz(IIIIIIIII)V" : 1136998422,
+ "cf.a([Ljava/lang/String;[SIIB)V" : 82,
+ "cf.q(IIIZII)J" : -184362900,
+ "cf.s(IB)Lia;" : -1,
+ "cg.h(II)I" : 368462775,
+ "cg.n(IIIB)I" : 13,
+ "ch.aw(ILcs;ZB)I" : -1,
+ "ch.s(CII)C" : 1742925831,
+ "ch.x(Ljava/lang/String;B)Ljava/lang/Class;" : 0,
+ "ck.h(B)V" : 1,
+ "ck.s(B)V" : 1,
+ "ck.x(IS)Z" : 2047,
+ "client.ae(I)V" : 839842829,
+ "client.aj(I)V" : -1093400736,
+ "client.au(ZB)V" : -2,
+ "client.av(B)V" : 1,
+ "client.ff(II)V" : -920552638,
+ "client.fi(I)V" : 610258376,
+ "client.fm(I)V" : -465272380,
+ "client.fo(I)V" : -401328439,
+ "client.fu(B)V" : 0,
+ "client.gh(B)V" : 2,
+ "client.gl(I)V" : -265842676,
+ "client.hg(Lck;I)Z" : 16776961,
+ "client.ic(I)Z" : 1896111338,
+ "client.ip(ZB)V" : 15,
+ "client.iy(I)V" : -1774724327,
+ "client.ja(Lia;I)V" : 838714686,
+ "client.ju(I)V" : -756058437,
+ "client.ln(I)Lkx;" : 49412185,
+ "client.r(I)V" : -1611272948,
+ "client.x(CII)I" : 1762474913,
+ "cm.a(IBI)V" : 65534,
+ "cm.hd(IIIIIIII)V" : -759447942,
+ "cm.q(I)Ldv;" : 270868885,
+ "cm.r(I)Z" : -1348553985,
+ "cm.s(IIZI)V" : 1378146881,
+ "co.q(I)Ldv;" : 270868885,
+ "cq.a(III)V" : -1070186518,
+ "cq.b(B)V" : -1,
+ "cq.gr(Ljava/lang/String;ZI)V" : -389570792,
+ "cq.n(B)V" : 9,
+ "cq.p(B)V" : -1,
+ "cq.q(I)V" : 628907907,
+ "cq.s(IB)I" : -1,
+ "cq.x(II)Ljava/lang/String;" : -324172300,
+ "cr.a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;B)Lbl;" : 1,
+ "cr.s(II)Lbl;" : -1908347194,
+ "ct.a(IIIII)V" : -1426623809,
+ "ct.g(I)V" : 2019467883,
+ "ct.kb(Ljava/lang/String;I)V" : 1782634305,
+ "ct.p(Liz;II)Llv;" : 495439929,
+ "ct.q(I)Ldv;" : 270868885,
+ "ct.s(II)V" : 63583155,
+ "cx.m(B)Lld;" : 3,
+ "cy.hr(IB)V" : 1,
+ "cz.aj(II)V" : 1893251924,
+ "cz.at(I)V" : 1969212074,
+ "cz.au(B)V" : -1,
+ "cz.p([BIILen;[Lfk;I)V" : -402226336,
+ "da.b(CB)Z" : 1,
+ "da.f([BIII)I" : 1742376717,
+ "da.s([BIIB)V" : -1,
+ "da.x(ZI)V" : 495439931,
+ "de.g(CB)C" : 13,
+ "de.g(IIB)Lcs;" : 1,
+ "de.g([BB)V" : 2,
+ "de.x(B)V" : 9,
+ "di.a([Ljava/lang/CharSequence;III)Ljava/lang/String;" : -1699387444,
+ "di.jr(Lia;IB)I" : 17,
+ "di.ko(Lia;IIII)V" : -529963254,
+ "di.y(ILcs;ZI)I" : 1635420646,
+ "dn.a([BI)[B" : -56213800,
+ "dn.g(II)I" : -1564370717,
+ "dn.ka([Lia;II)V" : -958295899,
+ "dn.s(IS)I" : 16382,
+ "dp.a(Ljava/lang/String;Ljava/lang/Throwable;B)V" : -1,
+ "dp.gz(I)V" : 174309589,
+ "ds.a(II[II)Lce;" : -1829245270,
+ "ds.g(I[II)Lce;" : -915277422,
+ "ds.s(II[II)Lce;" : 453356516,
+ "ds.x(I[IB)Lce;" : 0,
+ "du.a(I)I" : 705859952,
+ "du.f(II)Z" : -159952212,
+ "du.g(II)[I" : 1412569886,
+ "du.m(IB)V" : 0,
+ "du.p(I)V" : 674605951,
+ "du.x(II)I" : -1592582549,
+ "dw.b(Len;[Lfk;I)V" : 1851320005,
+ "dw.n(Lbu;B)V" : -1,
+ "dx.a(IIS)I" : 4999,
+ "dx.f(I)V" : -787206662,
+ "dx.g(I)V" : -1550843987,
+ "dx.h([BIIB)V" : 2,
+ "dx.m(B)V" : 3,
+ "dx.p([BIIB)V" : 1,
+ "dy.h(Ljava/lang/CharSequence;IZI)I" : 1182321164,
+ "dz.s(II)Ljh;" : -12306362,
+ "dz.s(II)Ljt;" : -1553990030,
+ "e.a(I[BLfb;B)V" : 0,
+ "e.fv(IB)V" : 6,
+ "e.fz(IIB)V" : 0,
+ "e.ho(ZLge;I)V" : -753481020,
+ "ea.a(Lkl;Lkl;I)I" : 236661620,
+ "ed.a(Lkl;Lkl;I)I" : -1524067389,
+ "ed.gt(Lbq;IIIIII)V" : -845922968,
+ "ee.a(Lkl;Lkl;S)I" : 1500,
+ "ee.fw(B)V" : 5,
+ "ef.g(Ljava/lang/String;ILjava/lang/String;I)Z" : -1896003594,
+ "ef.hc(ZLge;B)V" : 49,
+ "ef.jg([Lia;IB)V" : 25,
+ "ef.x(IZIZI)V" : -1718068584,
+ "eg.a(Lkl;Lkl;I)I" : 843610507,
+ "eg.ac(ILcs;ZB)I" : 127,
+ "eg.s(IB)Ljn;" : 8,
+ "eh.a(II)Lju;" : -686750587,
+ "eh.ft(ZS)V" : 513,
+ "eh.s(II)Lix;" : 449632382,
+ "eh.s(Ljava/io/File;ZI)Z" : 16711935,
+ "ei.jd([Lia;IIIZI)V" : -720054478,
+ "ei.p(II)I" : 1187869470,
+ "ej.a(Lkl;Lkl;I)I" : -1498357881,
+ "ej.gs(Lbw;I)Z" : 2018992164,
+ "ek.s(IIILjy;II)V" : 655507997,
+ "el.a(Lkl;Lkl;I)I" : -1691508553,
+ "el.x(I)V" : -992218542,
+ "em.a(Ljava/io/File;I)V" : -919664594,
+ "em.kl(Lia;IIII)V" : -32275069,
+ "em.s(Ljava/lang/CharSequence;I)Z" : -1575825717,
+ "ep.ab(ILcs;ZI)I" : -1899763684,
+ "ep.b(II)Lei;" : -1071218384,
+ "ep.s(III)V" : -523356652,
+ "eq.a(Lkl;Lkl;B)I" : -2,
+ "er.jo(Lia;IIIIIII)V" : -37715201,
+ "er.m(ILcs;ZB)I" : -1,
+ "es.n([BI)V" : 1477873953,
+ "et.q(CI)Z" : 601159240,
+ "et.x(II)I" : -4454457,
+ "eu.a(Lkl;Lkl;I)I" : -847269360,
+ "eu.s(III)V" : -1808152535,
+ "ev.hi(IIZB)V" : 18,
+ "ey.a(Lkl;Lkl;I)I" : 2046444105,
+ "ey.g(Ljava/lang/String;Ljava/lang/String;ZB)Lda;" : 2,
+ "f.a(Lm;Lm;I)I" : 1846671743,
+ "f.g(ILcs;ZI)I" : 908537385,
+ "f.g(Lgx;II)V" : -1787245950,
+ "f.kp(Ljava/lang/String;ZB)Ljava/lang/String;" : 0,
+ "f.kt(Lia;I)I" : 557758524,
+ "fa.hj(IIII)I" : -127120834,
+ "fa.p(Lkt;Lkt;Lkt;ZB)V" : -1,
+ "fa.x(B)V" : -1,
+ "fb.a(II)[B" : 663352422,
+ "fb.g(I[BIZB)Z" : 15,
+ "fb.s(I[BII)Z" : 345161743,
+ "fc.lh(I)V" : -861855527,
+ "fc.r(ILcs;ZI)I" : 2006195166,
+ "fg.a(B)V" : 2,
+ "fg.a(S)Lfa;" : 10144,
+ "fg.h(Lge;II)Z" : 97676263,
+ "fg.ix(II)Ljava/lang/String;" : 198383047,
+ "fg.s(III)I" : 1327459530,
+ "fh.hs(IIB)V" : 0,
+ "fh.s(II)Ljg;" : 620258019,
+ "fi.a(II)Z" : 1354142902,
+ "fi.a(Lll;B)I" : -1,
+ "fi.f(B)V" : 0,
+ "fi.g(I)I" : -827937127,
+ "fi.k([BIII)V" : -1233693102,
+ "fi.kw(Ljava/lang/String;B)V" : 3,
+ "fi.x(IIIIIIB)I" : 2,
+ "fi.x([BIIB)I" : 1,
+ "fj.a(II)Z" : -1899763683,
+ "fj.a(Ljava/io/File;Ljava/io/File;I)V" : -1114998342,
+ "fj.g(B)I" : 0,
+ "fj.g(IIIIIIB)I" : 79,
+ "fj.h(B)V" : 0,
+ "fj.s(B)I" : 1,
+ "fj.x([BIII)I" : -1210405788,
+ "fk.a(I)V" : -611770194,
+ "fk.g(IIIIZB)V" : 1,
+ "fk.m(IIIIIZB)V" : 1,
+ "fk.p(IIIIZI)V" : -500057817,
+ "fk.s(IIIIZI)V" : 1637050670,
+ "fl.a(II)Lje;" : 1521679245,
+ "fm.ht(IIII)V" : -523356652,
+ "fo.a([BILjava/lang/CharSequence;I)I" : 1159428966,
+ "fo.g([BIIII[Lfk;I)V" : 1327459530,
+ "fp.s(III)I" : 1327459530,
+ "ft.gc(Lbw;ZS)V" : 257,
+ "fu.as(ILcs;ZI)I" : 302016509,
+ "fu.s(Lge;B)V" : 48,
+ "fv.a(Liz;Liz;ZII)V" : -1720129294,
+ "fv.g(IIB)I" : 13,
+ "fw.s(IS)V" : 259,
+ "fx.a(B)Z" : 3,
+ "fx.ar(ILcs;ZI)I" : -31137372,
+ "fx.s([BIIB)V" : 70,
+ "fy.a([BII[BII)I" : 1944979934,
+ "fy.s([BI[BIIB)I" : 20,
+ "fz.q(Llv;I)V" : -1078540656,
+ "g.kx(S)V" : 2502,
+ "gb.a(B)I" : 1,
+ "gb.g(I)V" : 521895284,
+ "gb.s(I)I" : 99718613,
+ "gb.x(I)V" : -155012128,
+ "gc.a(IIII)I" : -1899763684,
+ "gc.c(ILcs;ZB)I" : -1,
+ "gc.h(IIIZIZB)V" : 23,
+ "gc.u(III)I" : 23878205,
+ "ge.a(Liz;IIB)[Lld;" : 23,
+ "ge.jp(I)Z" : -703700792,
+ "ge.jq(II)I" : 1887118654,
+ "ge.jr(I)I" : -1075465045,
+ "ge.jt([BIII)V" : 1292793924,
+ "ge.kj(I)V" : -91714,
+ "gh.l(ILcs;ZB)I" : 76,
+ "gi.p(Ljava/lang/CharSequence;B)I" : 8,
+ "gj.ga(I)V" : -2035282490,
+ "gm.x(Ljava/lang/CharSequence;I)[B" : -1293404993,
+ "gn.a(Lgx;[BI)V" : -858327323,
+ "go.a(IZI)[B" : -1296589171,
+ "gq.a(Ljava/lang/CharSequence;Ljava/lang/CharSequence;IB)I" : 5,
+ "gq.h(IIB)I" : 1,
+ "gq.kr(IIIILld;Lhk;I)V" : -1418612472,
+ "gx.ac(B)I" : 31,
+ "gx.ad(B)I" : -1,
+ "gx.ai([BIII)V" : -594273166,
+ "gx.aj(S)Ljava/lang/String;" : 257,
+ "gx.ak([IIII)V" : -81741600,
+ "gx.al(B)I" : -1,
+ "gx.am([IIIB)V" : 0,
+ "gx.ao(I)I" : -316163985,
+ "gx.ap([II)V" : 1621051798,
+ "gx.aq(I)I" : -442414275,
+ "gx.ar(I)Ljava/lang/String;" : 770756333,
+ "gx.as(I)Ljava/lang/String;" : -721135627,
+ "gx.au(I)Ljava/lang/String;" : 1888102756,
+ "gx.aw(I)I" : -2142523386,
+ "gx.ax([II)V" : -1139374613,
+ "gx.az(I)I" : -1651491166,
+ "gx.b(ZI)V" : 1173873020,
+ "gx.be(S)Z" : 1107,
+ "gx.bu(I)I" : 2024662838,
+ "gx.by(I)I" : 1509644456,
+ "gx.c(II)V" : 1219514079,
+ "gx.ch([BIII)V" : 763323993,
+ "gx.e(Ljava/lang/String;I)V" : 1504225874,
+ "gx.f(IZI)Ljava/lang/String;" : 582940071,
+ "gx.g(I)V" : -134910295,
+ "gx.h(ZI)V" : 1980995418,
+ "gx.l(Ljava/lang/CharSequence;I)V" : 1863463456,
+ "gx.o([BIII)V" : -757753561,
+ "gx.t(Ljava/lang/String;I)V" : -997423168,
+ "gx.v(II)V" : -1392094080,
+ "gy.gq(Lbq;I)V" : 33031345,
+ "gz.ly(I)V" : 1339304,
+ "h.p(Lbu;Lbu;IZI)I" : -1748952325,
+ "h.s(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V" : 763156645,
+ "hb.a(Lhl;[IIIII)V" : 1090105654,
+ "hb.hf(B)V" : -1,
+ "hb.s(Lhl;II)V" : -809158812,
+ "hc.a(Lds;[B[IB)Z" : 2,
+ "hc.gv(III)V" : -543069418,
+ "hc.r(CI)Z" : 1679390240,
+ "hk.a(III)Z" : -1128121077,
+ "hk.as(Ljy;B)Z" : 1,
+ "hk.b(Lia;IIIB)V" : 3,
+ "hl.an(ILcs;ZI)I" : -1910103371,
+ "hl.x(ILcs;ZI)I" : 385664937,
+ "hn.ab(II)V" : -36819028,
+ "hn.ah(II)V" : -1345756874,
+ "hn.ak(Lhl;I)I" : -520794056,
+ "hn.al(II)V" : -598595792,
+ "hn.am(Lhl;I)I" : -1122132199,
+ "hn.an(I)V" : 59932716,
+ "hn.ao(IS)V" : 128,
+ "hn.at(IB)V" : 1,
+ "hn.aw(II)V" : 167541606,
+ "hn.ax(Lhl;I)I" : 657286058,
+ "hn.b(Lhx;ZI)V" : -1551737624,
+ "hn.be(Lhl;[IIII)Z" : 92154578,
+ "hn.bf(B)V" : 1,
+ "hn.bo(Lhl;I)Z" : 1592628248,
+ "hn.g(Lhx;Liz;Lds;II)Z" : 338728781,
+ "hn.k(IIIB)V" : 1,
+ "hn.ls(Lgx;I)V" : -1236370027,
+ "hn.o(III)V" : 522712138,
+ "hn.u(IIII)V" : -1441077132,
+ "hn.y(Lhl;ZB)V" : 1,
+ "i.a(IB)Ljq;" : 13,
+ "i.m(II)I" : 328778210,
+ "ia.a([BI)Ljava/lang/String;" : -353252804,
+ "ia.b(ZB)Lld;" : 7,
+ "ia.e(IB)Lld;" : 16,
+ "ia.f(Lgx;B)V" : 7,
+ "ia.h(Lgx;I)V" : -1234429702,
+ "ia.m(Lgx;B)[I" : -1,
+ "ia.n(I)Lkt;" : 421753985,
+ "ia.o(ILjava/lang/String;I)V" : -1333519203,
+ "ia.p(Lgx;I)[Ljava/lang/Object;" : 542349862,
+ "ia.r(Lju;IZLil;B)Ldv;" : -2,
+ "ia.t(ZI)Lhk;" : -51731421,
+ "ic.b(Liz;IIB)Z" : -1,
+ "if.g([Lbu;II[I[II)V" : 1383511622,
+ "if.s(Lif;I)Z" : 818064734,
+ "ig.hu(Lbj;B)V" : 2,
+ "ii.n(IIIIIZB)Lld;" : 2,
+ "ik.g(Lge;I)V" : 1244850771,
+ "ik.hq(Lfh;I)V" : -1237176758,
+ "il.a([I[IZII)V" : -1797663590,
+ "il.f(I)V" : 684089267,
+ "il.g(IZI)V" : -310896557,
+ "il.h(Lgx;B)V" : 2,
+ "il.he(IIIIII)V" : 1597666720,
+ "il.m(I)Ldk;" : -398095808,
+ "il.p(Lju;ILju;IB)Ldv;" : 0,
+ "il.q(I)I" : -1107905560,
+ "il.s(IZI)V" : 258827147,
+ "in.cl(I)I" : -1072006222,
+ "in.dg(Lfb;I[BZB)V" : 1,
+ "in.dl(B)V" : 0,
+ "in.dn(II)Z" : 1536737195,
+ "in.ds(I[BZZI)V" : 956902428,
+ "in.dt(I)I" : -1062754734,
+ "in.dz(III)V" : -1693261231,
+ "in.q(II)I" : 1178383852,
+ "in.r(IB)V" : 9,
+ "io.p(ILcs;ZB)I" : 1,
+ "ip.hl(ZLge;I)V" : 1467913083,
+ "iq.f(IILld;FI)V" : 704611128,
+ "iq.g(IB)Lld;" : 0,
+ "iq.gb(IIIIZI)V" : 1785115947,
+ "iq.p(Lld;Lld;Llh;B)V" : 1,
+ "iq.s(II)V" : -2029849843,
+ "iq.x(III)V" : -2042722903,
+ "ir.f(I)V" : -2131355084,
+ "iu.ig(Lbw;IIII)V" : -685713479,
+ "iu.kz(IIIILld;Lhk;B)V" : 8,
+ "iv.a(Ljava/lang/CharSequence;I)Ljava/lang/String;" : -1913197059,
+ "iw.fh(IIB)V" : 2,
+ "iy.a(II)Lja;" : 299293337,
+ "iz.a([BB)V" : -1,
+ "iz.ab(Ljava/lang/String;Ljava/lang/String;I)Z" : 1244245246,
+ "iz.b(II)[B" : 987310919,
+ "iz.e(II)[B" : -1294518996,
+ "iz.f(II)Z" : -2035474006,
+ "iz.h(IIB)Z" : 0,
+ "iz.k(I)V" : -1119601835,
+ "iz.m(I)Z" : 35823373,
+ "iz.n(III)[B" : 516194823,
+ "iz.p(II)Z" : 541672068,
+ "iz.t(II)[I" : 431985491,
+ "iz.u(I)V" : -1524099318,
+ "iz.v(I[II)Z" : 227748206,
+ "iz.x(II[II)[B" : -834173405,
+ "j.a(Lag;B)V" : -1,
+ "j.g(CI)C" : -981963683,
+ "j.g(III)Z" : 1060896560,
+ "j.h(III)Lif;" : -175568126,
+ "j.hm(IIIIIIIIIB)V" : 13,
+ "j.iq(II)Ljava/lang/String;" : 1836496129,
+ "j.s(CI)Z" : 197071592,
+ "j.s(IIII)Z" : -1346882543,
+ "ja.g(Lgx;II)V" : 1365905715,
+ "ja.s(Lgx;B)V" : 23,
+ "jc.b(II)Ljc;" : 96183287,
+ "jc.e(ZI)Z" : 1314943295,
+ "jc.f(Ljc;Ljc;I)V" : -1552569050,
+ "jc.g(Lgx;I)V" : -1429982553,
+ "jc.l(ZI)Ldk;" : 1545641841,
+ "jc.m(II)Ldk;" : -573893718,
+ "jc.o(IIS)I" : 3147,
+ "jc.q(IB)Ldv;" : 4,
+ "jc.r(ZB)Ldk;" : 1,
+ "jc.t(ZI)Z" : 564174324,
+ "jc.u(ILjava/lang/String;I)Ljava/lang/String;" : -2051827725,
+ "jc.x(I)V" : 305928935,
+ "jc.x(Lgx;IB)V" : 0,
+ "jc.y(I)I" : 122221946,
+ "jd.f(ZI)Lld;" : 838332995,
+ "jd.h(I)V" : 65279,
+ "jd.n(Ljava/lang/String;B)Ljava/lang/String;" : 6,
+ "jd.p(II)Lld;" : 1990361836,
+ "jd.x(Lgx;II)V" : -2060573893,
+ "je.b(I)Lkt;" : -2064178208,
+ "je.f(B)Lld;" : 68,
+ "je.g(Lgx;IB)V" : -1,
+ "je.h(IB)Ljava/lang/String;" : 1,
+ "je.jx(IIIIII)V" : -508181654,
+ "je.m(CI)Z" : 760945280,
+ "je.m(I)Lld;" : -1778105957,
+ "je.q(I)Lld;" : -827937128,
+ "je.x(I)Lje;" : 943450442,
+ "jf.g(Lgx;II)V" : 214023150,
+ "jf.s(Lgx;B)V" : 3,
+ "jg.ah(ILcs;ZI)I" : 532847216,
+ "jg.b(III)I" : 10887810,
+ "jg.f(Lju;ILju;II)Ldv;" : -40433393,
+ "jg.h(Lgx;IB)V" : 64,
+ "jg.m(B)Ljg;" : 0,
+ "jg.n(ILjava/lang/String;I)Ljava/lang/String;" : -147724755,
+ "jg.p(I)Ldk;" : 1597666720,
+ "jg.q(B)Z" : -2,
+ "jg.s(Ljava/lang/String;ZLjava/lang/String;ZB)V" : -1,
+ "jg.x(Lgx;B)V" : 11,
+ "jh.g(Lgx;I)V" : -667595371,
+ "jh.h(IB)Ldv;" : 41,
+ "jh.x(Lgx;II)V" : -972042923,
+ "jl.a(Lgx;B)V" : 5,
+ "jl.ii(ILjava/lang/String;I)V" : -1675865809,
+ "jl.s(Lgx;II)V" : 572994941,
+ "jn.g(Lgx;I)V" : 96183287,
+ "jn.la(Ljava/lang/String;I)Ljava/lang/String;" : 477812378,
+ "jn.x(Lgx;II)V" : -1850197339,
+ "jo.g(Lgx;II)V" : 723793981,
+ "jo.h(II)V" : -740923085,
+ "jo.x(Lgx;III)V" : 384685616,
+ "jp.g(I)Z" : -498132400,
+ "jp.g(Lgx;II)V" : 424690960,
+ "jp.h(I)Lld;" : -380044805,
+ "jp.hp(ZI)V" : 1068773475,
+ "jp.s(Lgx;B)V" : 9,
+ "jp.x(B)Lld;" : 0,
+ "jq.au(ILcs;ZI)I" : -1963146961,
+ "jq.f(ILjava/lang/String;S)Ljava/lang/String;" : 5007,
+ "jq.h(III)I" : -698436080,
+ "jr.fn(II)V" : -1893789506,
+ "jr.g(Ljava/lang/CharSequence;B)Ljava/lang/String;" : -1,
+ "jr.jt(Lia;Ljc;IIZI)V" : -2033743109,
+ "jt.g(Lgx;I)V" : 721996786,
+ "jt.h(Ljava/lang/CharSequence;II[BII)I" : -1648858462,
+ "jt.k(ILcs;ZB)I" : 6,
+ "jt.x(Lgx;II)V" : 1576334712,
+ "ju.f(Ldv;III)Ldv;" : 132641558,
+ "ju.g(Lgx;II)V" : -613501112,
+ "ju.h(Ldv;II)Ldv;" : -1682213593,
+ "ju.m(Ldv;ILju;II)Ldv;" : 1211273008,
+ "ju.p(Ldv;II)Ldv;" : 172834485,
+ "ju.p(Lge;ILbw;II)V" : -1670832392,
+ "ju.q(Ldv;II)Ldv;" : -1048507799,
+ "ju.s(Lgx;I)V" : -1788727042,
+ "ju.x(B)V" : 0,
+ "jv.g(B)Lfa;" : 7,
+ "jw.a(II)Ljz;" : -1393220766,
+ "jw.g(Lgx;II)V" : 253176345,
+ "jw.h(II)V" : -89150727,
+ "jw.kd(Lbk;ZI)V" : -1454243751,
+ "jw.s(I)V" : 1378135916,
+ "jw.x(Lgx;III)V" : -467387569,
+ "jx.f(B)Ldk;" : 1,
+ "jx.g(Lgx;B)V" : 29,
+ "jx.h(I)Z" : -1555038209,
+ "jx.m(I)Ldk;" : -1339242269,
+ "jx.p(I)Z" : -1362075535,
+ "jx.s(Liz;III)Lld;" : 1385222262,
+ "jx.x(Lgx;IB)V" : 0,
+ "jy.b(II[[IIIILju;II)Ldv;" : 8388609,
+ "jy.e(I)Ljy;" : -1512852885,
+ "jy.f(II)Z" : 282955687,
+ "jy.g(S)V" : 8364,
+ "jy.h(Lgx;II)V" : -1717982543,
+ "jy.l(I)Z" : 150610019,
+ "jy.m(II[[IIIII)Lem;" : -372875047,
+ "jy.n(III)Ldk;" : -884974338,
+ "jy.q(II[[IIIIB)Ldv;" : 25,
+ "jy.r(IIB)I" : -1,
+ "jy.t(ILjava/lang/String;I)Ljava/lang/String;" : -1133392868,
+ "jy.x(Lgx;I)V" : 1763228330,
+ "jz.fs(IIII)V" : -1466898577,
+ "jz.g(Lgx;B)V" : 2,
+ "jz.h(I)Z" : -2131355083,
+ "jz.jp(Lia;B)Z" : -2,
+ "jz.x(Lgx;II)V" : -1511633123,
+ "k.hb(Lbw;IIBI)V" : -1717122274,
+ "k.m(B)V" : 2,
+ "ka.s(I)V" : -2839567,
+ "ka.x(I)V" : -670001098,
+ "kd.aa(Lkx;Lkx;I)Lkn;" : -2059524068,
+ "kd.ab(IB)Lkn;" : -1,
+ "kd.ah(I)V" : 1677000161,
+ "kd.an(Lkn;I)I" : -1066148450,
+ "kd.as(Ljava/util/Comparator;I)V" : 1772662082,
+ "kd.at(Lkn;I)V" : -818755498,
+ "kd.av(Lkn;I)V" : -1176966737,
+ "kd.l(Lkx;B)Z" : 100,
+ "kd.o(Lkx;I)Lkn;" : -1474250075,
+ "kd.v(Lkn;B)V" : 0,
+ "kd.y(Lkx;I)Lkn;" : -10040824,
+ "ke.a([Lkw;I)Ljava/util/HashMap;" : 943906518,
+ "kg.q(IIIIIILen;Lfk;I)V" : 330856458,
+ "kj.m(Ljava/util/Comparator;I)V" : -1871871525,
+ "kj.q(Lkn;Lkn;B)I" : 1,
+ "kl.bg(B)Z" : 1,
+ "km.f(I)V" : 592369164,
+ "km.g(I)V" : 1843719486,
+ "km.gj(II)V" : -1194096980,
+ "km.h(B)Z" : -1,
+ "km.s(I)Z" : -1813992429,
+ "kn.ae(I)Ljava/lang/String;" : 1341360476,
+ "kn.at(I)Ljava/lang/String;" : -1555038208,
+ "kn.av(Lkx;Lkx;I)V" : 275778859,
+ "kn.ih(IIIILjava/lang/String;I)V" : -1657907412,
+ "kn.ik(II)Z" : 271561465,
+ "kp.a(Lgx;Lgs;I)Lgs;" : -692792992,
+ "kr.g(Lkx;ZB)Z" : -1,
+ "kr.kh(Lgx;II)V" : -1134408571,
+ "kr.kn(Lia;I)V" : -2138249594,
+ "kr.n(Lgx;IB)V" : 1,
+ "ks.a(Lks;B)I" : 1,
+ "ku.g(Lgx;II)V" : -1361804166,
+ "kw.fk(I)V" : 1462687380,
+ "kw.fl(IZZZB)Lin;" : 6,
+ "kw.fr(B)V" : 0,
+ "kw.jj(B)V" : 1,
+ "kx.g(Lkx;I)I" : 1091130939,
+ "kx.s(I)Z" : 2085790353,
+ "ky.ck(Lgx;B)V" : 1,
+ "ky.cn(I)V" : 1819322040,
+ "ky.cr(Lgx;I)V" : -2138810208,
+ "ky.cv(Lkm;I)V" : -794082731,
+ "l.go(I)I" : 689623594,
+ "l.lg(I)V" : 212688817,
+ "l.x(IIIII)V" : 1330963020,
+ "lf.a(Liz;I)V" : 216314308,
+ "lg.a(Lkn;Lkn;B)I" : 0,
+ "lh.h(Llh;Llh;I)V" : -1899763684,
+ "lh.x(Llh;Llh;I)V" : 65281,
+ "li.a(Lgx;I)V" : 82212899,
+ "lk.a(Lkn;Lkn;B)I" : 3,
+ "lm.a(I)Lli;" : -1704489684,
+ "lo.ae(ILcs;ZI)I" : 491075880,
+ "lq.a(Liz;Liz;Liz;Lkt;Ljava/util/HashMap;[Llv;B)V" : 2,
+ "lq.aa(IIIIIII)V" : -1022244844,
+ "lq.ab(IIIIB)V" : 15,
+ "lq.ai(IIIB)V" : 4,
+ "lq.aj(III)V" : -1596162919,
+ "lq.an(IB)F" : 0,
+ "lq.ap(II)V" : -368766016,
+ "lq.aq(I)I" : 96183288,
+ "lq.ar(IIII)V" : -1654813278,
+ "lq.as(III)V" : -418862019,
+ "lq.at(I)I" : -1389281243,
+ "lq.au(II)Lag;" : -482362793,
+ "lq.az(B)Lif;" : 0,
+ "lq.b(I)Z" : 1196890805,
+ "lq.bb(S)Lat;" : 3647,
+ "lq.bg(II)Z" : -827937128,
+ "lq.bi(IZI)V" : 1401518352,
+ "lq.bn(ILif;S)Lif;" : 3622,
+ "lq.bo(II)V" : 517430306,
+ "lq.bp(I)Z" : 115992480,
+ "lq.br(IIIIIII)V" : -1670644894,
+ "lq.bv(II)Z" : 2068200578,
+ "lq.bw(B)Lat;" : 0,
+ "lq.bz(IZI)V" : -345932703,
+ "lq.c(IIIIIII)Z" : 977978274,
+ "lq.e(IIIZB)V" : -1,
+ "lq.f(I)V" : -1442221252,
+ "lq.g(IIZIIIII)V" : -311515493,
+ "lq.k(IIIB)V" : -1,
+ "lq.m(IIZI)V" : 443741720,
+ "lq.n(IIIB)Lag;" : 1,
+ "lq.p(I)V" : 946356797,
+ "lq.r(II)V" : -1958030248,
+ "lq.t(I)I" : -1613065466,
+ "lq.v(IIIIII)V" : 1578223622,
+ "lq.x(IIZZI)V" : 703776978,
+ "lq.y(Lag;Lif;Lif;ZI)V" : 559163206,
+ "lr.f([BIIB)Z" : 1,
+ "lw.a(Ljava/lang/String;B)V" : 0,
+ "lw.s(B)I" : 1,
+ "m.s(IIII)Lcs;" : -3560696,
+ "m.x([BIIIIIII[Lfk;S)V" : 254,
+ "m.y(IIIB)I" : 0,
+ "n.a(Lm;Lm;I)I" : 965460013,
+ "n.g(III)Lia;" : -115409750,
+ "n.jk(II)V" : -1949538187,
+ "o.a(Lgx;I)V" : -2015278485,
+ "o.gx(Lbw;III)V" : 16748609,
+ "o.hh(I)V" : 900432092,
+ "o.s(Lgx;I)V" : -1171328621,
+ "p.a(Ljava/util/Comparator;ZB)V" : -1,
+ "p.f([BIIB)Ljava/lang/String;" : 1,
+ "p.gk(ZB)V" : 1,
+ "p.jz(Lia;III)V" : -1232547140,
+ "p.km(IB)V" : 1,
+ "q.a(Lm;Lm;I)I" : 806214979,
+ "r.a(Lm;Lm;I)I" : -587761847,
+ "r.q(I)Ljava/lang/String;" : 1332980896,
+ "s.ac(I)I" : 756871814,
+ "s.fx(B)V" : 1,
+ "s.jh(Lia;III)V" : -718297066,
+ "s.kq(Lia;I)Z" : -1017775700,
+ "t.lf(B)Z" : 0,
+ "v.a(Lag;B)V" : -1,
+ "v.fy(Ljava/lang/String;I)V" : -1100446886,
+ "v.g(III)Z" : 1060896560,
+ "v.gw(B)V" : 9,
+ "v.h(III)Lif;" : -175568126,
+ "v.s(IIII)Z" : -1346882543,
+ "v.s([BIII)Ljava/lang/String;" : -2131355082,
+ "v.x(IIIB)[I" : 2,
+ "w.e(IILgx;II)V" : -1175687218,
+ "w.in(IIIIIIS)V" : 254,
+ "w.m(I)Z" : 665939044,
+ "w.n(IILgx;B)V" : 1,
+ "w.o(III)I" : 174332944,
+ "w.q(Liz;I)V" : -1888528129,
+ "w.r(IILgx;II)V" : -2131355082,
+ "x.g(Ljava/lang/Class;I)La;" : -559220730,
+ "x.s(Ljava/lang/Class;I)Lx;" : -803222413,
+ "y.g(IB)Ly;" : 7,
+ "y.h(Lgx;IIIIIIB)V" : 2,
+ "y.if(B)V" : 10,
+ "y.s(CI)Z" : 1212295357,
+ "y.s(FB)Z" : 0,
+ "y.s(Lge;II)V" : 1027527763,
+ "z.fc(Lju;IIII)V" : 2082929660,
+ "z.jb(IB)V" : 15
+}
\ No newline at end of file
diff --git a/extended-mixins/hooks.json b/extended-mixins/hooks.json
new file mode 100644
index 0000000000..95dc4d9b6f
--- /dev/null
+++ b/extended-mixins/hooks.json
@@ -0,0 +1,32406 @@
+[ {
+ "class" : "AbstractByteArrayCopier",
+ "name" : "gl",
+ "super" : "java.lang.Object",
+ "access" : 1057,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "get",
+ "owner" : "gl",
+ "name" : "a",
+ "access" : 1024,
+ "parameters" : [ ],
+ "descriptor" : "(I)[B"
+ }, {
+ "method" : "set",
+ "owner" : "gl",
+ "name" : "s",
+ "access" : 1024,
+ "parameters" : [ "array" ],
+ "descriptor" : "([BB)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "ModelData0",
+ "name" : "ek",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "SecureRandomFuture",
+ "name" : "cp",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "executor",
+ "owner" : "cp",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljava/util/concurrent/ExecutorService;"
+ }, {
+ "field" : "future",
+ "owner" : "cp",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Ljava/util/concurrent/Future;"
+ } ],
+ "methods" : [ {
+ "method" : "get",
+ "owner" : "cp",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ljava/security/SecureRandom;"
+ }, {
+ "method" : "isDone",
+ "owner" : "cp",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(S)Z"
+ }, {
+ "method" : "shutdown",
+ "owner" : "cp",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "SoundEnvelope",
+ "name" : "cl",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "amplitude",
+ "owner" : "cl",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "durations",
+ "owner" : "cl",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "end",
+ "owner" : "cl",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "form",
+ "owner" : "cl",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "max",
+ "owner" : "cl",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "phaseIndex",
+ "owner" : "cl",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "phases",
+ "owner" : "cl",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "segments",
+ "owner" : "cl",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "start",
+ "owner" : "cl",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "step",
+ "owner" : "cl",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "ticks",
+ "owner" : "cl",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ {
+ "method" : "decode",
+ "owner" : "cl",
+ "name" : "a",
+ "access" : 16,
+ "parameters" : [ "buffer" ],
+ "descriptor" : "(Lgx;)V"
+ }, {
+ "method" : "decodeSegments",
+ "owner" : "cl",
+ "name" : "s",
+ "access" : 16,
+ "parameters" : [ "buffer" ],
+ "descriptor" : "(Lgx;)V"
+ }, {
+ "method" : "doStep",
+ "owner" : "cl",
+ "name" : "x",
+ "access" : 16,
+ "parameters" : [ "n" ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "reset",
+ "owner" : "cl",
+ "name" : "g",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Strings",
+ "name" : "it",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ ]
+}, {
+ "class" : "WorldMapCacheName",
+ "name" : "ae",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "name",
+ "owner" : "ae",
+ "name" : "f",
+ "access" : 17,
+ "descriptor" : "Ljava/lang/String;"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Ljava/lang/String;)V"
+ } ]
+}, {
+ "class" : "GzipDecompressor",
+ "name" : "gn",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "inflater",
+ "owner" : "gn",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljava/util/zip/Inflater;"
+ } ],
+ "methods" : [ {
+ "method" : "decompress",
+ "owner" : "gn",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "(Lgx;[BI)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ }, {
+ "access" : 0,
+ "descriptor" : "(III)V"
+ } ]
+}, {
+ "class" : "DevicePcmPlayer",
+ "name" : "ap",
+ "super" : "cz",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "byteSamples",
+ "owner" : "ap",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "capacity2",
+ "owner" : "ap",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1111177813
+ }, {
+ "field" : "format",
+ "owner" : "ap",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljavax/sound/sampled/AudioFormat;"
+ }, {
+ "field" : "line",
+ "owner" : "ap",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Ljavax/sound/sampled/SourceDataLine;"
+ } ],
+ "methods" : [ {
+ "method" : "close",
+ "owner" : "ap",
+ "name" : "h",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "discard",
+ "owner" : "ap",
+ "name" : "f",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "init",
+ "owner" : "ap",
+ "name" : "a",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "open",
+ "owner" : "ap",
+ "name" : "s",
+ "access" : 4,
+ "parameters" : [ "bufferSize" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "position",
+ "owner" : "ap",
+ "name" : "g",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "write",
+ "owner" : "ap",
+ "name" : "x",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "ClientPacket",
+ "name" : "fs",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "fr" ],
+ "fields" : [ {
+ "field" : "id",
+ "owner" : "fs",
+ "name" : "ce",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : 1670370847
+ }, {
+ "field" : "length",
+ "owner" : "fs",
+ "name" : "cj",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : -1187486687
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(II)V"
+ } ]
+}, {
+ "class" : "Canvas",
+ "name" : "ad",
+ "super" : "java.awt.Canvas",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "component",
+ "owner" : "ad",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljava/awt/Component;"
+ } ],
+ "methods" : [ {
+ "method" : "paint",
+ "owner" : "ad",
+ "name" : "paint",
+ "access" : 17,
+ "parameters" : [ "g" ],
+ "descriptor" : "(Ljava/awt/Graphics;)V"
+ }, {
+ "method" : "update",
+ "owner" : "ad",
+ "name" : "update",
+ "access" : 17,
+ "parameters" : [ "g" ],
+ "descriptor" : "(Ljava/awt/Graphics;)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Ljava/awt/Component;)V"
+ } ]
+}, {
+ "class" : "TilePaint",
+ "name" : "eb",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "isFlat",
+ "owner" : "eb",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "neColor",
+ "owner" : "eb",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -275155701
+ }, {
+ "field" : "nwColor",
+ "owner" : "eb",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 994726533
+ }, {
+ "field" : "rgb",
+ "owner" : "eb",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 837082755
+ }, {
+ "field" : "seColor",
+ "owner" : "eb",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1505559839
+ }, {
+ "field" : "swColor",
+ "owner" : "eb",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 772918589
+ }, {
+ "field" : "texture",
+ "owner" : "eb",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1130157059
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(IIIIIIZ)V"
+ } ]
+}, {
+ "class" : "Task",
+ "name" : "fn",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "intArgument",
+ "owner" : "fn",
+ "name" : "p",
+ "access" : 1,
+ "descriptor" : "I"
+ }, {
+ "field" : "next",
+ "owner" : "fn",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lfn;"
+ }, {
+ "field" : "objectArgument",
+ "owner" : "fn",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/Object;"
+ }, {
+ "field" : "result",
+ "owner" : "fn",
+ "name" : "q",
+ "access" : 65,
+ "descriptor" : "Ljava/lang/Object;"
+ }, {
+ "field" : "status",
+ "owner" : "fn",
+ "name" : "h",
+ "access" : 65,
+ "descriptor" : "I"
+ }, {
+ "field" : "type",
+ "owner" : "fn",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 57507535
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Formatting",
+ "name" : "cg",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ ]
+}, {
+ "class" : "AbstractRasterProvider",
+ "name" : "lr",
+ "super" : "java.lang.Object",
+ "access" : 1057,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "height",
+ "owner" : "lr",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1014058049
+ }, {
+ "field" : "pixels",
+ "owner" : "lr",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "width",
+ "owner" : "lr",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1926491113
+ } ],
+ "methods" : [ {
+ "method" : "apply",
+ "owner" : "lr",
+ "name" : "u",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "draw",
+ "owner" : "lr",
+ "name" : "g",
+ "access" : 1025,
+ "parameters" : [ "x", "y", "width", "height" ],
+ "descriptor" : "(IIIII)V"
+ }, {
+ "method" : "drawFull",
+ "owner" : "lr",
+ "name" : "s",
+ "access" : 1025,
+ "parameters" : [ "x", "y" ],
+ "descriptor" : "(IIB)V"
+ } ],
+ "constructors" : [ {
+ "access" : 4,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Decimator",
+ "name" : "dn",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "inputRate",
+ "owner" : "dn",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1689769765
+ }, {
+ "field" : "outputRate",
+ "owner" : "dn",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1300300777
+ }, {
+ "field" : "table",
+ "owner" : "dn",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[[I"
+ } ],
+ "methods" : [ {
+ "method" : "resample",
+ "owner" : "dn",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "([BI)[B"
+ }, {
+ "method" : "scalePosition",
+ "owner" : "dn",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ "position" ],
+ "descriptor" : "(II)I"
+ }, {
+ "method" : "scaleRate",
+ "owner" : "dn",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "rate" ],
+ "descriptor" : "(IS)I"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(II)V"
+ } ]
+}, {
+ "class" : "DirectByteArrayCopier",
+ "name" : "gu",
+ "super" : "gl",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "directBuffer",
+ "owner" : "gu",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljava/nio/ByteBuffer;"
+ } ],
+ "methods" : [ {
+ "method" : "get",
+ "owner" : "gu",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)[B"
+ }, {
+ "method" : "set",
+ "owner" : "gu",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "array" ],
+ "descriptor" : "([BB)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "FriendLoginUpdate",
+ "name" : "kg",
+ "super" : "hh",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "time",
+ "owner" : "kg",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1833392209
+ }, {
+ "field" : "username",
+ "owner" : "kg",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "Lkx;"
+ }, {
+ "field" : "world",
+ "owner" : "kg",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "S"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Lkx;I)V"
+ } ]
+}, {
+ "class" : "Varps",
+ "name" : "hs",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ ]
+}, {
+ "class" : "Varcs",
+ "name" : "cq",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "intsPersistence",
+ "owner" : "cq",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "lastWriteTimeMs",
+ "owner" : "cq",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : 4713395565269692703
+ }, {
+ "field" : "map",
+ "owner" : "cq",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Ljava/util/Map;"
+ }, {
+ "field" : "strings",
+ "owner" : "cq",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "unwrittenChanges",
+ "owner" : "cq",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "clearTransient",
+ "owner" : "cq",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "getInt",
+ "owner" : "cq",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "index" ],
+ "descriptor" : "(IB)I"
+ }, {
+ "method" : "getPreferencesFile",
+ "owner" : "cq",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "(ZI)Lda;"
+ }, {
+ "method" : "getString",
+ "owner" : "cq",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ "index" ],
+ "descriptor" : "(II)Ljava/lang/String;"
+ }, {
+ "method" : "getStringOld",
+ "owner" : "cq",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ "index" ],
+ "descriptor" : "(II)Ljava/lang/String;"
+ }, {
+ "method" : "hasUnwrittenChanges",
+ "owner" : "cq",
+ "name" : "e",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)Z"
+ }, {
+ "method" : "read",
+ "owner" : "cq",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "setInt",
+ "owner" : "cq",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "index", "n" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "setString",
+ "owner" : "cq",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ "index", "s" ],
+ "descriptor" : "(ILjava/lang/String;I)V"
+ }, {
+ "method" : "setStringOld",
+ "owner" : "cq",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ "index", "s" ],
+ "descriptor" : "(ILjava/lang/String;I)V"
+ }, {
+ "method" : "tryWrite",
+ "owner" : "cq",
+ "name" : "n",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "write",
+ "owner" : "cq",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "(I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Node",
+ "name" : "hy",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "key",
+ "owner" : "hy",
+ "name" : "co",
+ "access" : 1,
+ "descriptor" : "J"
+ }, {
+ "field" : "next",
+ "owner" : "hy",
+ "name" : "ck",
+ "access" : 0,
+ "descriptor" : "Lhy;"
+ }, {
+ "field" : "previous",
+ "owner" : "hy",
+ "name" : "cr",
+ "access" : 1,
+ "descriptor" : "Lhy;"
+ } ],
+ "methods" : [ {
+ "method" : "hasNext",
+ "owner" : "hy",
+ "name" : "ko",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Z"
+ }, {
+ "method" : "remove",
+ "owner" : "hy",
+ "name" : "kl",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 4,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "ClientPacketMarker",
+ "name" : "fr",
+ "super" : "java.lang.Object",
+ "access" : 1537,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ ]
+}, {
+ "class" : "ServerPacket",
+ "name" : "fc",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "id",
+ "owner" : "fc",
+ "name" : "ct",
+ "access" : 17,
+ "descriptor" : "I",
+ "decoder" : -164635975
+ }, {
+ "field" : "length",
+ "owner" : "fc",
+ "name" : "cb",
+ "access" : 17,
+ "descriptor" : "I",
+ "decoder" : -949915423
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(II)V"
+ } ]
+}, {
+ "class" : "DualNode",
+ "name" : "ho",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "keyDual",
+ "owner" : "ho",
+ "name" : "cn",
+ "access" : 0,
+ "descriptor" : "J"
+ }, {
+ "field" : "nextDual",
+ "owner" : "ho",
+ "name" : "cv",
+ "access" : 1,
+ "descriptor" : "Lho;"
+ }, {
+ "field" : "previousDual",
+ "owner" : "ho",
+ "name" : "cw",
+ "access" : 1,
+ "descriptor" : "Lho;"
+ } ],
+ "methods" : [ {
+ "method" : "removeDual",
+ "owner" : "ho",
+ "name" : "cv",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 4,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "EnumDefinition",
+ "name" : "jf",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "defaultInt",
+ "owner" : "jf",
+ "name" : "f",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1768409015
+ }, {
+ "field" : "defaultString",
+ "owner" : "jf",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "intVals",
+ "owner" : "jf",
+ "name" : "q",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "keyType",
+ "owner" : "jf",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "C"
+ }, {
+ "field" : "keys",
+ "owner" : "jf",
+ "name" : "m",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "size0",
+ "owner" : "jf",
+ "name" : "p",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1311220831
+ }, {
+ "field" : "stringVals",
+ "owner" : "jf",
+ "name" : "b",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "valType",
+ "owner" : "jf",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "C"
+ } ],
+ "methods" : [ {
+ "method" : "read",
+ "owner" : "jf",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "jf",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "(Lgx;II)V"
+ }, {
+ "method" : "size",
+ "owner" : "jf",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "ByteArrayNode",
+ "name" : "hq",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "byteArray",
+ "owner" : "hq",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "[B"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "([B)V"
+ } ]
+}, {
+ "class" : "Clock",
+ "name" : "fl",
+ "super" : "java.lang.Object",
+ "access" : 1057,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "mark",
+ "owner" : "fl",
+ "name" : "a",
+ "access" : 1025,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "wait",
+ "owner" : "fl",
+ "name" : "s",
+ "access" : 1025,
+ "parameters" : [ "cycleMs", "minSleepMs" ],
+ "descriptor" : "(III)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "AbstractSocket",
+ "name" : "fq",
+ "super" : "java.lang.Object",
+ "access" : 1057,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "available",
+ "owner" : "fq",
+ "name" : "s",
+ "access" : 1025,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "close",
+ "owner" : "fq",
+ "name" : "f",
+ "access" : 1025,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "isAvailable",
+ "owner" : "fq",
+ "name" : "a",
+ "access" : 1025,
+ "parameters" : [ "length" ],
+ "descriptor" : "(II)Z"
+ }, {
+ "method" : "read",
+ "owner" : "fq",
+ "name" : "x",
+ "access" : 1025,
+ "parameters" : [ "dst", "dstIndex", "length" ],
+ "descriptor" : "([BIIB)I"
+ }, {
+ "method" : "readUnsignedByte",
+ "owner" : "fq",
+ "name" : "g",
+ "access" : 1025,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "write",
+ "owner" : "fq",
+ "name" : "h",
+ "access" : 1025,
+ "parameters" : [ "src", "srcIndex", "length" ],
+ "descriptor" : "([BIII)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "ItemContainer",
+ "name" : "bv",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "ids",
+ "owner" : "bv",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "quantities",
+ "owner" : "bv",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "[I"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "ByteArrayPool",
+ "name" : "go",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ ]
+}, {
+ "class" : "MouseWheel",
+ "name" : "ff",
+ "super" : "java.lang.Object",
+ "access" : 1537,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "useRotation",
+ "owner" : "ff",
+ "name" : "g",
+ "access" : 1025,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ } ],
+ "constructors" : [ ]
+}, {
+ "class" : "RasterProvider",
+ "name" : "am",
+ "super" : "lr",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "component0",
+ "owner" : "am",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljava/awt/Component;"
+ }, {
+ "field" : "image",
+ "owner" : "am",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Ljava/awt/Image;"
+ } ],
+ "methods" : [ {
+ "method" : "draw",
+ "owner" : "am",
+ "name" : "g",
+ "access" : 17,
+ "parameters" : [ "x", "y", "width", "height" ],
+ "descriptor" : "(IIIII)V"
+ }, {
+ "method" : "draw0",
+ "owner" : "am",
+ "name" : "h",
+ "access" : 16,
+ "parameters" : [ "graphics", "x", "y", "width", "height" ],
+ "descriptor" : "(Ljava/awt/Graphics;IIIII)V"
+ }, {
+ "method" : "drawFull",
+ "owner" : "am",
+ "name" : "s",
+ "access" : 17,
+ "parameters" : [ "x", "y" ],
+ "descriptor" : "(IIB)V"
+ }, {
+ "method" : "drawFull0",
+ "owner" : "am",
+ "name" : "x",
+ "access" : 16,
+ "parameters" : [ "graphics", "x", "y" ],
+ "descriptor" : "(Ljava/awt/Graphics;IIB)V"
+ }, {
+ "method" : "setComponent",
+ "owner" : "am",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "(Ljava/awt/Component;B)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(IILjava/awt/Component;)V"
+ } ]
+}, {
+ "class" : "ServerBuild",
+ "name" : "ix",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "id",
+ "owner" : "ix",
+ "name" : "f",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : -70287847
+ }, {
+ "field" : "name",
+ "owner" : "ix",
+ "name" : "h",
+ "access" : 17,
+ "descriptor" : "Ljava/lang/String;"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Ljava/lang/String;I)V"
+ } ]
+}, {
+ "class" : "StudioGame",
+ "name" : "ib",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "gr" ],
+ "fields" : [ {
+ "field" : "id",
+ "owner" : "ib",
+ "name" : "m",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : -821473595
+ }, {
+ "field" : "name",
+ "owner" : "ib",
+ "name" : "p",
+ "access" : 17,
+ "descriptor" : "Ljava/lang/String;"
+ } ],
+ "methods" : [ {
+ "method" : "ordinal",
+ "owner" : "ib",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "(I)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Ljava/lang/String;Ljava/lang/String;I)V"
+ } ]
+}, {
+ "class" : "TriBool",
+ "name" : "kz",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "UnderlayDefinition",
+ "name" : "jo",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "hue",
+ "owner" : "jo",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -923744073
+ }, {
+ "field" : "hueMultiplier",
+ "owner" : "jo",
+ "name" : "p",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1613065465
+ }, {
+ "field" : "lightness",
+ "owner" : "jo",
+ "name" : "f",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1957094679
+ }, {
+ "field" : "rgb",
+ "owner" : "jo",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1269432375
+ }, {
+ "field" : "saturation",
+ "owner" : "jo",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -207542285
+ } ],
+ "methods" : [ {
+ "method" : "init",
+ "owner" : "jo",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "read",
+ "owner" : "jo",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "(Lgx;II)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "jo",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "(Lgx;III)V"
+ }, {
+ "method" : "setHsl",
+ "owner" : "jo",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ "rgb" ],
+ "descriptor" : "(II)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "WidgetGroupParent",
+ "name" : "bk",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "group",
+ "owner" : "bk",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -912519809
+ }, {
+ "field" : "keep",
+ "owner" : "bk",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "type",
+ "owner" : "bk",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1353246179
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "ParamKeyDefinition",
+ "name" : "jz",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "isMembersOnly",
+ "owner" : "jz",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "keyInt",
+ "owner" : "jz",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 387040489
+ }, {
+ "field" : "keyString",
+ "owner" : "jz",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "type",
+ "owner" : "jz",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "C"
+ } ],
+ "methods" : [ {
+ "method" : "init",
+ "owner" : "jz",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "isString",
+ "owner" : "jz",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "read",
+ "owner" : "jz",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "jz",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "(Lgx;II)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "NetFileRequest",
+ "name" : "ig",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "crc",
+ "owner" : "ig",
+ "name" : "s",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 751928619
+ }, {
+ "field" : "indexCache",
+ "owner" : "ig",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "padding",
+ "owner" : "ig",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "B"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Buddy",
+ "name" : "kl",
+ "super" : "kn",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "int2",
+ "owner" : "kl",
+ "name" : "f",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -2143445875
+ }, {
+ "field" : "rank",
+ "owner" : "kl",
+ "name" : "p",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1644405117
+ }, {
+ "field" : "world0",
+ "owner" : "kl",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 2063532353
+ } ],
+ "methods" : [ {
+ "method" : "hasWorld",
+ "owner" : "kl",
+ "name" : "bg",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)Z"
+ }, {
+ "method" : "set",
+ "owner" : "kl",
+ "name" : "bp",
+ "access" : 0,
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "world",
+ "owner" : "kl",
+ "name" : "bv",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "GrandExchangeEvents",
+ "name" : "p",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "events",
+ "owner" : "p",
+ "name" : "a",
+ "access" : 17,
+ "descriptor" : "Ljava/util/List;"
+ } ],
+ "methods" : [ {
+ "method" : "sort",
+ "owner" : "p",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "(Ljava/util/Comparator;ZB)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Lgx;Z)V"
+ } ]
+}, {
+ "class" : "WorldMapIndexCacheLoader",
+ "name" : "lw",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "cacheName",
+ "owner" : "lw",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "indexCache",
+ "owner" : "lw",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "isLoaded0",
+ "owner" : "lw",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "percentLoaded0",
+ "owner" : "lw",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -233880955
+ } ],
+ "methods" : [ {
+ "method" : "isLoaded",
+ "owner" : "lw",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "load",
+ "owner" : "lw",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "percentLoaded",
+ "owner" : "lw",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "reset",
+ "owner" : "lw",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "cacheName" ],
+ "descriptor" : "(Ljava/lang/String;B)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Liz;)V"
+ } ]
+}, {
+ "class" : "MenuAction",
+ "name" : "ca",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "action",
+ "owner" : "ca",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "argument0",
+ "owner" : "ca",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1344341039
+ }, {
+ "field" : "argument1",
+ "owner" : "ca",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1584952213
+ }, {
+ "field" : "argument2",
+ "owner" : "ca",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1666165603
+ }, {
+ "field" : "opcode",
+ "owner" : "ca",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -583181833
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "RunException",
+ "name" : "fe",
+ "super" : "java.lang.RuntimeException",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "string",
+ "owner" : "fe",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "throwable",
+ "owner" : "fe",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/Throwable;"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Ljava/lang/Throwable;Ljava/lang/String;)V"
+ } ]
+}, {
+ "class" : "PcmPlayerProvider",
+ "name" : "cw",
+ "super" : "java.lang.Object",
+ "access" : 1537,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "player",
+ "owner" : "cw",
+ "name" : "a",
+ "access" : 1025,
+ "descriptor" : "(I)Lcz;"
+ } ],
+ "constructors" : [ ]
+}, {
+ "class" : "NanoClock",
+ "name" : "fp",
+ "super" : "fl",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "lastTimeNano",
+ "owner" : "fp",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : 5500580908329817685
+ } ],
+ "methods" : [ {
+ "method" : "mark",
+ "owner" : "fp",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "wait",
+ "owner" : "fp",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "cycleMs", "minSleepMs" ],
+ "descriptor" : "(III)I"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "VarpDefinition",
+ "name" : "jn",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "type",
+ "owner" : "jn",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1819484817
+ } ],
+ "methods" : [ {
+ "method" : "read",
+ "owner" : "jn",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "(Lgx;I)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "jn",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "(Lgx;II)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "ClientParameter",
+ "name" : "jb",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "id",
+ "owner" : "jb",
+ "name" : "v",
+ "access" : 17,
+ "descriptor" : "Ljava/lang/String;"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Ljava/lang/String;Ljava/lang/String;)V"
+ } ]
+}, {
+ "class" : "SpriteMask",
+ "name" : "hk",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "height",
+ "owner" : "hk",
+ "name" : "s",
+ "access" : 17,
+ "descriptor" : "I",
+ "decoder" : 190259019
+ }, {
+ "field" : "width",
+ "owner" : "hk",
+ "name" : "a",
+ "access" : 17,
+ "descriptor" : "I",
+ "decoder" : 456307015
+ }, {
+ "field" : "xStarts",
+ "owner" : "hk",
+ "name" : "x",
+ "access" : 17,
+ "descriptor" : "[I"
+ }, {
+ "field" : "xWidths",
+ "owner" : "hk",
+ "name" : "g",
+ "access" : 17,
+ "descriptor" : "[I"
+ } ],
+ "methods" : [ {
+ "method" : "contains",
+ "owner" : "hk",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "x", "y" ],
+ "descriptor" : "(III)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(II[I[II)V"
+ } ]
+}, {
+ "class" : "UrlRequest",
+ "name" : "ez",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "isDone0",
+ "owner" : "ez",
+ "name" : "s",
+ "access" : 64,
+ "descriptor" : "Z"
+ }, {
+ "field" : "response0",
+ "owner" : "ez",
+ "name" : "g",
+ "access" : 64,
+ "descriptor" : "[B"
+ }, {
+ "field" : "url",
+ "owner" : "ez",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "Ljava/net/URL;"
+ } ],
+ "methods" : [ {
+ "method" : "getResponse",
+ "owner" : "ez",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)[B"
+ }, {
+ "method" : "isDone",
+ "owner" : "ez",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Ljava/net/URL;)V"
+ } ]
+}, {
+ "class" : "Rasterizer2D",
+ "name" : "lb",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 4,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Usernamed",
+ "name" : "ko",
+ "super" : "java.lang.Object",
+ "access" : 1537,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "username",
+ "owner" : "ko",
+ "name" : "ln",
+ "access" : 1025,
+ "descriptor" : "(I)Lkx;"
+ } ],
+ "constructors" : [ ]
+}, {
+ "class" : "Entity",
+ "name" : "em",
+ "super" : "ho",
+ "access" : 1057,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "height",
+ "owner" : "em",
+ "name" : "cs",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -460629523
+ } ],
+ "methods" : [ {
+ "method" : "draw",
+ "owner" : "em",
+ "name" : "cb",
+ "access" : 0,
+ "parameters" : [ "yaw", "cameraPitchSine", "cameraPitchCosine", "cameraYawSine", "cameraYawCosine", "x", "y", "z", "tag" ],
+ "descriptor" : "(IIIIIIIIJ)V"
+ }, {
+ "method" : "getModel",
+ "owner" : "em",
+ "name" : "q",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ldv;"
+ } ],
+ "constructors" : [ {
+ "access" : 4,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "WallDecoration",
+ "name" : "ef",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "entity1",
+ "owner" : "ef",
+ "name" : "m",
+ "access" : 1,
+ "descriptor" : "Lem;"
+ }, {
+ "field" : "entity2",
+ "owner" : "ef",
+ "name" : "q",
+ "access" : 1,
+ "descriptor" : "Lem;"
+ }, {
+ "field" : "flags",
+ "owner" : "ef",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1941711703
+ }, {
+ "field" : "int7",
+ "owner" : "ef",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1554727321
+ }, {
+ "field" : "orientation",
+ "owner" : "ef",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 205892101
+ }, {
+ "field" : "tag",
+ "owner" : "ef",
+ "name" : "b",
+ "access" : 1,
+ "descriptor" : "J",
+ "decoder" : -7300530763844858277
+ }, {
+ "field" : "tileHeight",
+ "owner" : "ef",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -103719315
+ }, {
+ "field" : "x",
+ "owner" : "ef",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1049239705
+ }, {
+ "field" : "xOffset",
+ "owner" : "ef",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1246331161
+ }, {
+ "field" : "y",
+ "owner" : "ef",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 465213843
+ }, {
+ "field" : "yOffset",
+ "owner" : "ef",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 399558767
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Projectile",
+ "name" : "ct",
+ "super" : "em",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "accelerationZ",
+ "owner" : "ct",
+ "name" : "v",
+ "access" : 0,
+ "descriptor" : "D"
+ }, {
+ "field" : "cycleEnd",
+ "owner" : "ct",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 506418453
+ }, {
+ "field" : "cycleStart",
+ "owner" : "ct",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1432275439
+ }, {
+ "field" : "frame",
+ "owner" : "ct",
+ "name" : "c",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -455933117
+ }, {
+ "field" : "frameCycle",
+ "owner" : "ct",
+ "name" : "j",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -44715143
+ }, {
+ "field" : "id",
+ "owner" : "ct",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 595928693
+ }, {
+ "field" : "int3",
+ "owner" : "ct",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 2028992299
+ }, {
+ "field" : "int4",
+ "owner" : "ct",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1443812039
+ }, {
+ "field" : "int5",
+ "owner" : "ct",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -204280907
+ }, {
+ "field" : "isMoving",
+ "owner" : "ct",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "pitch",
+ "owner" : "ct",
+ "name" : "w",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -77331817
+ }, {
+ "field" : "plane",
+ "owner" : "ct",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1964390021
+ }, {
+ "field" : "sequenceDefinition",
+ "owner" : "ct",
+ "name" : "i",
+ "access" : 0,
+ "descriptor" : "Lju;"
+ }, {
+ "field" : "sourceX",
+ "owner" : "ct",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1259021119
+ }, {
+ "field" : "sourceY",
+ "owner" : "ct",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -142241487
+ }, {
+ "field" : "sourceZ",
+ "owner" : "ct",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2091027413
+ }, {
+ "field" : "speed",
+ "owner" : "ct",
+ "name" : "y",
+ "access" : 0,
+ "descriptor" : "D"
+ }, {
+ "field" : "speedX",
+ "owner" : "ct",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "D"
+ }, {
+ "field" : "speedY",
+ "owner" : "ct",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "D"
+ }, {
+ "field" : "speedZ",
+ "owner" : "ct",
+ "name" : "k",
+ "access" : 0,
+ "descriptor" : "D"
+ }, {
+ "field" : "targetIndex",
+ "owner" : "ct",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1655053057
+ }, {
+ "field" : "x",
+ "owner" : "ct",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "D"
+ }, {
+ "field" : "y",
+ "owner" : "ct",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "D"
+ }, {
+ "field" : "yaw",
+ "owner" : "ct",
+ "name" : "d",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -412451625
+ }, {
+ "field" : "z",
+ "owner" : "ct",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "D"
+ } ],
+ "methods" : [ {
+ "method" : "advance",
+ "owner" : "ct",
+ "name" : "s",
+ "access" : 16,
+ "parameters" : [ "cycles" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "getModel",
+ "owner" : "ct",
+ "name" : "q",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ldv;"
+ }, {
+ "method" : "setDestination",
+ "owner" : "ct",
+ "name" : "a",
+ "access" : 16,
+ "parameters" : [ "x", "y", "height", "cycle" ],
+ "descriptor" : "(IIIII)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(IIIIIIIIIII)V"
+ } ]
+}, {
+ "class" : "DevicePcmPlayerProvider",
+ "name" : "ac",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "cw" ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "player",
+ "owner" : "ac",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "(I)Lcz;"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "WorldMapSection",
+ "name" : "au",
+ "super" : "java.lang.Object",
+ "access" : 1537,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "containsCoord",
+ "owner" : "au",
+ "name" : "s",
+ "access" : 1025,
+ "parameters" : [ "plane", "x", "y" ],
+ "descriptor" : "(IIII)Z"
+ }, {
+ "method" : "containsPosition",
+ "owner" : "au",
+ "name" : "g",
+ "access" : 1025,
+ "parameters" : [ "x", "y" ],
+ "descriptor" : "(III)Z"
+ }, {
+ "method" : "coord",
+ "owner" : "au",
+ "name" : "h",
+ "access" : 1025,
+ "parameters" : [ "x", "y" ],
+ "descriptor" : "(III)Lif;"
+ }, {
+ "method" : "expandBounds",
+ "owner" : "au",
+ "name" : "a",
+ "access" : 1025,
+ "parameters" : [ "area" ],
+ "descriptor" : "(Lag;B)V"
+ }, {
+ "method" : "position",
+ "owner" : "au",
+ "name" : "x",
+ "access" : 1025,
+ "parameters" : [ "plane", "x", "y" ],
+ "descriptor" : "(IIIB)[I"
+ }, {
+ "method" : "read",
+ "owner" : "au",
+ "name" : "f",
+ "access" : 1025,
+ "parameters" : [ "buffer" ],
+ "descriptor" : "(Lgx;B)V"
+ } ],
+ "constructors" : [ ]
+}, {
+ "class" : "AbstractFont",
+ "name" : "kf",
+ "super" : "lb",
+ "access" : 1057,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "advances",
+ "owner" : "kf",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "ascent",
+ "owner" : "kf",
+ "name" : "p",
+ "access" : 1,
+ "descriptor" : "I"
+ }, {
+ "field" : "heights",
+ "owner" : "kf",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "kerning",
+ "owner" : "kf",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "leftBearings",
+ "owner" : "kf",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "maxAscent",
+ "owner" : "kf",
+ "name" : "m",
+ "access" : 1,
+ "descriptor" : "I"
+ }, {
+ "field" : "maxDescent",
+ "owner" : "kf",
+ "name" : "q",
+ "access" : 1,
+ "descriptor" : "I"
+ }, {
+ "field" : "pixels",
+ "owner" : "kf",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "[[B"
+ }, {
+ "field" : "topBearings",
+ "owner" : "kf",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "widths",
+ "owner" : "kf",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "[I"
+ } ],
+ "methods" : [ {
+ "method" : "breakLines",
+ "owner" : "kf",
+ "name" : "q",
+ "access" : 1,
+ "parameters" : [ "s", "lineWidths", "linesDst" ],
+ "descriptor" : "(Ljava/lang/String;[I[Ljava/lang/String;)I"
+ }, {
+ "method" : "calculateLineJustification",
+ "owner" : "kf",
+ "name" : "ah",
+ "access" : 0,
+ "parameters" : [ "s", "lineWidth" ],
+ "descriptor" : "(Ljava/lang/String;I)V"
+ }, {
+ "method" : "charWidth",
+ "owner" : "kf",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ "c" ],
+ "descriptor" : "(C)I"
+ }, {
+ "method" : "decodeTag",
+ "owner" : "kf",
+ "name" : "ab",
+ "access" : 0,
+ "parameters" : [ "s" ],
+ "descriptor" : "(Ljava/lang/String;)V"
+ }, {
+ "method" : "draw",
+ "owner" : "kf",
+ "name" : "r",
+ "access" : 1,
+ "parameters" : [ "s", "x", "y", "color", "shadow" ],
+ "descriptor" : "(Ljava/lang/String;IIII)V"
+ }, {
+ "method" : "draw0",
+ "owner" : "kf",
+ "name" : "aw",
+ "access" : 0,
+ "parameters" : [ "s", "x", "y" ],
+ "descriptor" : "(Ljava/lang/String;II)V"
+ }, {
+ "method" : "drawAlpha",
+ "owner" : "kf",
+ "name" : "t",
+ "access" : 1,
+ "parameters" : [ "s", "x", "y", "color", "shadow", "alpha" ],
+ "descriptor" : "(Ljava/lang/String;IIIII)V"
+ }, {
+ "method" : "drawCentered",
+ "owner" : "kf",
+ "name" : "o",
+ "access" : 1,
+ "parameters" : [ "s", "x", "y", "color", "shadow" ],
+ "descriptor" : "(Ljava/lang/String;IIII)V"
+ }, {
+ "method" : "drawCenteredShake",
+ "owner" : "kf",
+ "name" : "v",
+ "access" : 1,
+ "parameters" : [ "s", "x", "y", "color", "shadow", "seed", "seed2" ],
+ "descriptor" : "(Ljava/lang/String;IIIIII)V"
+ }, {
+ "method" : "drawCenteredWave",
+ "owner" : "kf",
+ "name" : "y",
+ "access" : 1,
+ "parameters" : [ "s", "x", "y", "color", "shadow", "seed" ],
+ "descriptor" : "(Ljava/lang/String;IIIII)V"
+ }, {
+ "method" : "drawCenteredWave2",
+ "owner" : "kf",
+ "name" : "k",
+ "access" : 1,
+ "parameters" : [ "s", "x", "y", "color", "shadow", "seed" ],
+ "descriptor" : "(Ljava/lang/String;IIIII)V"
+ }, {
+ "method" : "drawGlyph",
+ "owner" : "kf",
+ "name" : "a",
+ "access" : 1024,
+ "parameters" : [ "pixels", "x", "y", "width", "height", "color" ],
+ "descriptor" : "([BIIIII)V"
+ }, {
+ "method" : "drawGlyphAlpha",
+ "owner" : "kf",
+ "name" : "s",
+ "access" : 1024,
+ "parameters" : [ "pixels", "x", "y", "width", "height", "color", "alpha" ],
+ "descriptor" : "([BIIIIII)V"
+ }, {
+ "method" : "drawLines",
+ "owner" : "kf",
+ "name" : "u",
+ "access" : 1,
+ "parameters" : [ "s", "x", "y", "width", "height", "color", "shadow", "xAlignment", "yAlignment", "lineHeight" ],
+ "descriptor" : "(Ljava/lang/String;IIIIIIIII)I"
+ }, {
+ "method" : "drawRandomAlphaAndSpacing",
+ "owner" : "kf",
+ "name" : "c",
+ "access" : 1,
+ "parameters" : [ "s", "x", "y", "color", "shadow", "seed" ],
+ "descriptor" : "(Ljava/lang/String;IIIII)V"
+ }, {
+ "method" : "drawRightAligned",
+ "owner" : "kf",
+ "name" : "l",
+ "access" : 1,
+ "parameters" : [ "s", "x", "y", "color", "shadow" ],
+ "descriptor" : "(Ljava/lang/String;IIII)V"
+ }, {
+ "method" : "drawWithOffsets0",
+ "owner" : "kf",
+ "name" : "an",
+ "access" : 0,
+ "parameters" : [ "s", "x", "y", "xs", "ys" ],
+ "descriptor" : "(Ljava/lang/String;II[I[I)V"
+ }, {
+ "method" : "lineCount",
+ "owner" : "kf",
+ "name" : "n",
+ "access" : 1,
+ "parameters" : [ "s", "lineWidth" ],
+ "descriptor" : "(Ljava/lang/String;I)I"
+ }, {
+ "method" : "lineWidth",
+ "owner" : "kf",
+ "name" : "b",
+ "access" : 1,
+ "parameters" : [ "s", "lineWidth" ],
+ "descriptor" : "(Ljava/lang/String;I)I"
+ }, {
+ "method" : "readMetrics",
+ "owner" : "kf",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ "bytes" ],
+ "descriptor" : "([B)V"
+ }, {
+ "method" : "reset",
+ "owner" : "kf",
+ "name" : "aa",
+ "access" : 0,
+ "parameters" : [ "color", "shadow" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "stringWidth",
+ "owner" : "kf",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ "s" ],
+ "descriptor" : "(Ljava/lang/String;)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "([B[I[I[I[I[I[[B)V"
+ }, {
+ "access" : 0,
+ "descriptor" : "([B)V"
+ } ]
+}, {
+ "class" : "WorldMapEvent",
+ "name" : "ai",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "coord1",
+ "owner" : "ai",
+ "name" : "s",
+ "access" : 1,
+ "descriptor" : "Lif;"
+ }, {
+ "field" : "coord2",
+ "owner" : "ai",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "Lif;"
+ }, {
+ "field" : "mapElement",
+ "owner" : "ai",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1978146945
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(ILif;Lif;)V"
+ } ]
+}, {
+ "class" : "PlatformInfoProvider",
+ "name" : "lx",
+ "super" : "java.lang.Object",
+ "access" : 1537,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "get",
+ "owner" : "lx",
+ "name" : "a",
+ "access" : 1025,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lli;"
+ } ],
+ "constructors" : [ ]
+}, {
+ "class" : "Skeleton",
+ "name" : "ev",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "count",
+ "owner" : "ev",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -534781423
+ }, {
+ "field" : "id",
+ "owner" : "ev",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1289791215
+ }, {
+ "field" : "labels",
+ "owner" : "ev",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "transformTypes",
+ "owner" : "ev",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "[I"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(I[B)V"
+ } ]
+}, {
+ "class" : "StructDefinition",
+ "name" : "jq",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "params",
+ "owner" : "jq",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Lgs;"
+ } ],
+ "methods" : [ {
+ "method" : "getIntParam",
+ "owner" : "jq",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "(III)I"
+ }, {
+ "method" : "getStringParam",
+ "owner" : "jq",
+ "name" : "f",
+ "access" : 1,
+ "descriptor" : "(ILjava/lang/String;S)Ljava/lang/String;"
+ }, {
+ "method" : "init",
+ "owner" : "jq",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "read",
+ "owner" : "jq",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "jq",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "(Lgx;II)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Login",
+ "name" : "cc",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ ]
+}, {
+ "class" : "ReflectionCheck",
+ "name" : "ly",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "arguments",
+ "owner" : "ly",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "[[[B"
+ }, {
+ "field" : "creationErrors",
+ "owner" : "ly",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "fields",
+ "owner" : "ly",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "[Ljava/lang/reflect/Field;"
+ }, {
+ "field" : "id",
+ "owner" : "ly",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 2098891529
+ }, {
+ "field" : "intReplaceValues",
+ "owner" : "ly",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "methods",
+ "owner" : "ly",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "[Ljava/lang/reflect/Method;"
+ }, {
+ "field" : "operations",
+ "owner" : "ly",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "size",
+ "owner" : "ly",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1743299775
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Message",
+ "name" : "bl",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "count",
+ "owner" : "bl",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1952141511
+ }, {
+ "field" : "cycle",
+ "owner" : "bl",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -304319161
+ }, {
+ "field" : "isFromFriend0",
+ "owner" : "bl",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Lkz;"
+ }, {
+ "field" : "isFromIgnored0",
+ "owner" : "bl",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Lkz;"
+ }, {
+ "field" : "prefix",
+ "owner" : "bl",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "sender",
+ "owner" : "bl",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "senderUsername",
+ "owner" : "bl",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "Lkx;"
+ }, {
+ "field" : "text",
+ "owner" : "bl",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "type",
+ "owner" : "bl",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1927995217
+ } ],
+ "methods" : [ {
+ "method" : "clearIsFromFriend",
+ "owner" : "bl",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "clearIsFromIgnored",
+ "owner" : "bl",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "fillIsFromFriend",
+ "owner" : "bl",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "fillIsFromIgnored",
+ "owner" : "bl",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "fillSenderUsername",
+ "owner" : "bl",
+ "name" : "m",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "isFromFriend",
+ "owner" : "bl",
+ "name" : "g",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "isFromIgnored",
+ "owner" : "bl",
+ "name" : "f",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(B)Z"
+ }, {
+ "method" : "set",
+ "owner" : "bl",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "type", "sender", "prefix", "text" ],
+ "descriptor" : "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"
+ } ]
+}, {
+ "class" : "NodeHashTable",
+ "name" : "ht",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "buckets",
+ "owner" : "ht",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[Lhy;"
+ }, {
+ "field" : "current",
+ "owner" : "ht",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lhy;"
+ }, {
+ "field" : "currentGet",
+ "owner" : "ht",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Lhy;"
+ }, {
+ "field" : "index",
+ "owner" : "ht",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "size",
+ "owner" : "ht",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ {
+ "method" : "clear",
+ "owner" : "ht",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "first",
+ "owner" : "ht",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Lhy;"
+ }, {
+ "method" : "get",
+ "owner" : "ht",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "key" ],
+ "descriptor" : "(J)Lhy;"
+ }, {
+ "method" : "next",
+ "owner" : "ht",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Lhy;"
+ }, {
+ "method" : "put",
+ "owner" : "ht",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "node", "key" ],
+ "descriptor" : "(Lhy;J)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(I)V"
+ } ]
+}, {
+ "class" : "IntegerNode",
+ "name" : "he",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "integer",
+ "owner" : "he",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(I)V"
+ } ]
+}, {
+ "class" : "IntHashTable",
+ "name" : "gt",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "array",
+ "owner" : "gt",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "[I"
+ } ],
+ "methods" : [ {
+ "method" : "get",
+ "owner" : "gt",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "(I)I"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "([I)V"
+ } ]
+}, {
+ "class" : "ScriptFrame",
+ "name" : "bz",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "intLocals",
+ "owner" : "bz",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "pc",
+ "owner" : "bz",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1508273535
+ }, {
+ "field" : "script",
+ "owner" : "bz",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lcs;"
+ }, {
+ "field" : "stringLocals",
+ "owner" : "bz",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[Ljava/lang/String;"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Enumerated",
+ "name" : "gr",
+ "super" : "java.lang.Object",
+ "access" : 1537,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "ordinal",
+ "owner" : "gr",
+ "name" : "x",
+ "access" : 1025,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ } ],
+ "constructors" : [ ]
+}, {
+ "class" : "DualNodeDeque",
+ "name" : "gd",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "sentinel",
+ "owner" : "gd",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lho;"
+ } ],
+ "methods" : [ {
+ "method" : "addFirst",
+ "owner" : "gd",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "(Lho;)V"
+ }, {
+ "method" : "addLast",
+ "owner" : "gd",
+ "name" : "s",
+ "access" : 1,
+ "descriptor" : "(Lho;)V"
+ }, {
+ "method" : "clear",
+ "owner" : "gd",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "()V"
+ }, {
+ "method" : "last",
+ "owner" : "gd",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "()Lho;"
+ }, {
+ "method" : "removeLast",
+ "owner" : "gd",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "()Lho;"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "HealthBarUpdate",
+ "name" : "by",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "cycle",
+ "owner" : "by",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1922137535
+ }, {
+ "field" : "cycleOffset",
+ "owner" : "by",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1553815911
+ }, {
+ "field" : "health",
+ "owner" : "by",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1554469757
+ }, {
+ "field" : "health2",
+ "owner" : "by",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1566650169
+ } ],
+ "methods" : [ {
+ "method" : "set",
+ "owner" : "by",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "(IIIIB)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(IIII)V"
+ } ]
+}, {
+ "class" : "Rasterizer3D",
+ "name" : "df",
+ "super" : "lb",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ ]
+}, {
+ "class" : "ObjectNode",
+ "name" : "gv",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "obj",
+ "owner" : "gv",
+ "name" : "a",
+ "access" : 17,
+ "descriptor" : "Ljava/lang/Object;"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Ljava/lang/Object;)V"
+ } ]
+}, {
+ "class" : "ClanMate",
+ "name" : "km",
+ "super" : "kl",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "isFriend0",
+ "owner" : "km",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lkz;"
+ }, {
+ "field" : "isIgnored0",
+ "owner" : "km",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lkz;"
+ } ],
+ "methods" : [ {
+ "method" : "clearIsFriend",
+ "owner" : "km",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "clearIsIgnored",
+ "owner" : "km",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "fillIsFriend",
+ "owner" : "km",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "fillIsIgnored",
+ "owner" : "km",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "isFriend",
+ "owner" : "km",
+ "name" : "s",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "isIgnored",
+ "owner" : "km",
+ "name" : "h",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(B)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "WorldMapLabel",
+ "name" : "ay",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "height",
+ "owner" : "ay",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 65766785
+ }, {
+ "field" : "size",
+ "owner" : "ay",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Ly;"
+ }, {
+ "field" : "text",
+ "owner" : "ay",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "width",
+ "owner" : "ay",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 110876147
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Ljava/lang/String;IILy;)V"
+ } ]
+}, {
+ "class" : "Font",
+ "name" : "kt",
+ "super" : "kf",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "drawGlyph",
+ "owner" : "kt",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "([BIIIII)V"
+ }, {
+ "method" : "drawGlyphAlpha",
+ "owner" : "kt",
+ "name" : "s",
+ "access" : 16,
+ "descriptor" : "([BIIIIII)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "([B[I[I[I[I[I[[B)V"
+ }, {
+ "access" : 1,
+ "descriptor" : "([B)V"
+ } ]
+}, {
+ "class" : "FloorDecoration",
+ "name" : "dw",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "entity",
+ "owner" : "dw",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "Lem;"
+ }, {
+ "field" : "flags",
+ "owner" : "dw",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1275172067
+ }, {
+ "field" : "tag",
+ "owner" : "dw",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "J",
+ "decoder" : -7746942760389518379
+ }, {
+ "field" : "tileHeight",
+ "owner" : "dw",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 64699151
+ }, {
+ "field" : "x",
+ "owner" : "dw",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1267567225
+ }, {
+ "field" : "y",
+ "owner" : "dw",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1290086305
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "NodeDeque",
+ "name" : "hv",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "current",
+ "owner" : "hv",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lhy;"
+ }, {
+ "field" : "sentinel",
+ "owner" : "hv",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "Lhy;"
+ } ],
+ "methods" : [ {
+ "method" : "addFirst",
+ "owner" : "hv",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "node" ],
+ "descriptor" : "(Lhy;)V"
+ }, {
+ "method" : "addLast",
+ "owner" : "hv",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "node" ],
+ "descriptor" : "(Lhy;)V"
+ }, {
+ "method" : "clear",
+ "owner" : "hv",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "first",
+ "owner" : "hv",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Lhy;"
+ }, {
+ "method" : "last",
+ "owner" : "hv",
+ "name" : "p",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Lhy;"
+ }, {
+ "method" : "next",
+ "owner" : "hv",
+ "name" : "b",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Lhy;"
+ }, {
+ "method" : "previous",
+ "owner" : "hv",
+ "name" : "q",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Lhy;"
+ }, {
+ "method" : "removeFirst",
+ "owner" : "hv",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Lhy;"
+ }, {
+ "method" : "removeLast",
+ "owner" : "hv",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Lhy;"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "GroundItemPile",
+ "name" : "dy",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "first",
+ "owner" : "dy",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lem;"
+ }, {
+ "field" : "height",
+ "owner" : "dy",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -683834749
+ }, {
+ "field" : "second",
+ "owner" : "dy",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "Lem;"
+ }, {
+ "field" : "tag",
+ "owner" : "dy",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : 4919486212967381457
+ }, {
+ "field" : "third",
+ "owner" : "dy",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Lem;"
+ }, {
+ "field" : "tileHeight",
+ "owner" : "dy",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1922326197
+ }, {
+ "field" : "x",
+ "owner" : "dy",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1126674869
+ }, {
+ "field" : "y",
+ "owner" : "dy",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -571565015
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "GraphicsObject",
+ "name" : "ba",
+ "super" : "em",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "cycleStart",
+ "owner" : "ba",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 679010059
+ }, {
+ "field" : "frame",
+ "owner" : "ba",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 953575315
+ }, {
+ "field" : "frameCycle",
+ "owner" : "ba",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1058182045
+ }, {
+ "field" : "height",
+ "owner" : "ba",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -867255925
+ }, {
+ "field" : "id",
+ "owner" : "ba",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1538944877
+ }, {
+ "field" : "isFinished",
+ "owner" : "ba",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "plane",
+ "owner" : "ba",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1320502275
+ }, {
+ "field" : "sequenceDefinition",
+ "owner" : "ba",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Lju;"
+ }, {
+ "field" : "x",
+ "owner" : "ba",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1605641487
+ }, {
+ "field" : "y",
+ "owner" : "ba",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1424250479
+ } ],
+ "methods" : [ {
+ "method" : "advance",
+ "owner" : "ba",
+ "name" : "a",
+ "access" : 16,
+ "parameters" : [ "cycles" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "getModel",
+ "owner" : "ba",
+ "name" : "q",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ldv;"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(IIIIIII)V"
+ } ]
+}, {
+ "class" : "LoginPacket",
+ "name" : "fv",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "fr" ],
+ "fields" : [ {
+ "field" : "id",
+ "owner" : "fv",
+ "name" : "f",
+ "access" : 17,
+ "descriptor" : "I",
+ "decoder" : -1772519349
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(II)V"
+ } ]
+}, {
+ "class" : "AbstractSound",
+ "name" : "dj",
+ "super" : "hy",
+ "access" : 1057,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "position",
+ "owner" : "dj",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "VarbitDefinition",
+ "name" : "jt",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "highBit",
+ "owner" : "jt",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1702644217
+ }, {
+ "field" : "lowBit",
+ "owner" : "jt",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 111370627
+ }, {
+ "field" : "varp",
+ "owner" : "jt",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -2032962997
+ } ],
+ "methods" : [ {
+ "method" : "read",
+ "owner" : "jt",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "(Lgx;I)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "jt",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "(Lgx;II)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Bzip2Decompressor",
+ "name" : "ga",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ ]
+}, {
+ "class" : "DynamicObject",
+ "name" : "co",
+ "super" : "em",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "cycleStart",
+ "owner" : "co",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1071500809
+ }, {
+ "field" : "frame",
+ "owner" : "co",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -267134163
+ }, {
+ "field" : "id",
+ "owner" : "co",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1934319317
+ }, {
+ "field" : "orientation",
+ "owner" : "co",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1318398919
+ }, {
+ "field" : "plane",
+ "owner" : "co",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1836194755
+ }, {
+ "field" : "sequenceDefinition",
+ "owner" : "co",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Lju;"
+ }, {
+ "field" : "type",
+ "owner" : "co",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1671892841
+ }, {
+ "field" : "x",
+ "owner" : "co",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1957562685
+ }, {
+ "field" : "y",
+ "owner" : "co",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 99477863
+ } ],
+ "methods" : [ {
+ "method" : "getModel",
+ "owner" : "co",
+ "name" : "q",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ldv;"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(IIIIIIIZLem;)V"
+ } ]
+}, {
+ "class" : "InvDefinition",
+ "name" : "ja",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "size",
+ "owner" : "ja",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -733268637
+ } ],
+ "methods" : [ {
+ "method" : "read",
+ "owner" : "ja",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "ja",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "(Lgx;II)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "GroundItem",
+ "name" : "cb",
+ "super" : "em",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "id",
+ "owner" : "cb",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1683486297
+ }, {
+ "field" : "quantity",
+ "owner" : "cb",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 729993939
+ } ],
+ "methods" : [ {
+ "method" : "getModel",
+ "owner" : "cb",
+ "name" : "q",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ldv;"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "IndexStore",
+ "name" : "fb",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "dataFile",
+ "owner" : "fb",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Ldx;"
+ }, {
+ "field" : "index",
+ "owner" : "fb",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1958721637
+ }, {
+ "field" : "indexFile",
+ "owner" : "fb",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Ldx;"
+ }, {
+ "field" : "maxEntrySize",
+ "owner" : "fb",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1029369667
+ } ],
+ "methods" : [ {
+ "method" : "read",
+ "owner" : "fb",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "entry" ],
+ "descriptor" : "(II)[B"
+ }, {
+ "method" : "write",
+ "owner" : "fb",
+ "name" : "s",
+ "access" : 1,
+ "descriptor" : "(I[BII)Z"
+ }, {
+ "method" : "write0",
+ "owner" : "fb",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "(I[BIZB)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(ILdx;Ldx;I)V"
+ } ]
+}, {
+ "class" : "Wrapper",
+ "name" : "hg",
+ "super" : "ho",
+ "access" : 1057,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "size",
+ "owner" : "hg",
+ "name" : "s",
+ "access" : 16,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ {
+ "method" : "get",
+ "owner" : "hg",
+ "name" : "a",
+ "access" : 1024,
+ "parameters" : [ ],
+ "descriptor" : "()Ljava/lang/Object;"
+ }, {
+ "method" : "isSoft",
+ "owner" : "hg",
+ "name" : "s",
+ "access" : 1024,
+ "parameters" : [ ],
+ "descriptor" : "()Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(I)V"
+ } ]
+}, {
+ "class" : "UserList",
+ "name" : "kd",
+ "super" : "java.lang.Object",
+ "access" : 1057,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "array",
+ "owner" : "kd",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[Lkn;"
+ }, {
+ "field" : "capacity",
+ "owner" : "kd",
+ "name" : "x",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : 1426289773
+ }, {
+ "field" : "comparator",
+ "owner" : "kd",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "Ljava/util/Comparator;"
+ }, {
+ "field" : "previousUsernamesMap",
+ "owner" : "kd",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashMap;"
+ }, {
+ "field" : "size0",
+ "owner" : "kd",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -525617491
+ }, {
+ "field" : "usernamesMap",
+ "owner" : "kd",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashMap;"
+ } ],
+ "methods" : [ {
+ "method" : "addComparator",
+ "owner" : "kd",
+ "name" : "as",
+ "access" : 17,
+ "parameters" : [ "c" ],
+ "descriptor" : "(Ljava/util/Comparator;I)V"
+ }, {
+ "method" : "addLast",
+ "owner" : "kd",
+ "name" : "aa",
+ "access" : 0,
+ "parameters" : [ "username", "previousUsername" ],
+ "descriptor" : "(Lkx;Lkx;I)Lkn;"
+ }, {
+ "method" : "addLastNoPreviousUsername",
+ "owner" : "kd",
+ "name" : "c",
+ "access" : 0,
+ "parameters" : [ "username" ],
+ "descriptor" : "(Lkx;I)Lkn;"
+ }, {
+ "method" : "arrayAddLast",
+ "owner" : "kd",
+ "name" : "ae",
+ "access" : 16,
+ "parameters" : [ "user" ],
+ "descriptor" : "(Lkn;I)V"
+ }, {
+ "method" : "arrayRemove",
+ "owner" : "kd",
+ "name" : "au",
+ "access" : 16,
+ "parameters" : [ "index" ],
+ "descriptor" : "(IB)V"
+ }, {
+ "method" : "changeName",
+ "owner" : "kd",
+ "name" : "aw",
+ "access" : 16,
+ "parameters" : [ "user", "username", "previousUsername" ],
+ "descriptor" : "(Lkn;Lkx;Lkx;I)V"
+ }, {
+ "method" : "clear",
+ "owner" : "kd",
+ "name" : "e",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "contains",
+ "owner" : "kd",
+ "name" : "l",
+ "access" : 1,
+ "parameters" : [ "username" ],
+ "descriptor" : "(Lkx;B)Z"
+ }, {
+ "method" : "get",
+ "owner" : "kd",
+ "name" : "ab",
+ "access" : 17,
+ "parameters" : [ "index" ],
+ "descriptor" : "(IB)Lkn;"
+ }, {
+ "method" : "getByCurrentUsername",
+ "owner" : "kd",
+ "name" : "u",
+ "access" : 0,
+ "parameters" : [ "username" ],
+ "descriptor" : "(Lkx;B)Lkn;"
+ }, {
+ "method" : "getByPreviousUsername",
+ "owner" : "kd",
+ "name" : "y",
+ "access" : 0,
+ "parameters" : [ "previousUsername" ],
+ "descriptor" : "(Lkx;I)Lkn;"
+ }, {
+ "method" : "getByUsername",
+ "owner" : "kd",
+ "name" : "o",
+ "access" : 1,
+ "parameters" : [ "username" ],
+ "descriptor" : "(Lkx;I)Lkn;"
+ }, {
+ "method" : "indexOf",
+ "owner" : "kd",
+ "name" : "an",
+ "access" : 16,
+ "parameters" : [ "user" ],
+ "descriptor" : "(Lkn;I)I"
+ }, {
+ "method" : "isFull",
+ "owner" : "kd",
+ "name" : "t",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "mapPut",
+ "owner" : "kd",
+ "name" : "av",
+ "access" : 16,
+ "parameters" : [ "user" ],
+ "descriptor" : "(Lkn;I)V"
+ }, {
+ "method" : "mapRemove",
+ "owner" : "kd",
+ "name" : "at",
+ "access" : 16,
+ "parameters" : [ "user" ],
+ "descriptor" : "(Lkn;I)V"
+ }, {
+ "method" : "newInstance",
+ "owner" : "kd",
+ "name" : "a",
+ "access" : 1024,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lkn;"
+ }, {
+ "method" : "newTypedArray",
+ "owner" : "kd",
+ "name" : "s",
+ "access" : 1024,
+ "parameters" : [ "size" ],
+ "descriptor" : "(IB)[Lkn;"
+ }, {
+ "method" : "remove",
+ "owner" : "kd",
+ "name" : "v",
+ "access" : 16,
+ "parameters" : [ "user" ],
+ "descriptor" : "(Lkn;B)V"
+ }, {
+ "method" : "removeByUsername",
+ "owner" : "kd",
+ "name" : "k",
+ "access" : 17,
+ "parameters" : [ "username" ],
+ "descriptor" : "(Lkx;I)Z"
+ }, {
+ "method" : "removeComparator",
+ "owner" : "kd",
+ "name" : "aj",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "size",
+ "owner" : "kd",
+ "name" : "r",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "sort",
+ "owner" : "kd",
+ "name" : "ah",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(I)V"
+ } ]
+}, {
+ "class" : "SoundCache",
+ "name" : "ds",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "musicSampleIndex",
+ "owner" : "ds",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "musicSamples",
+ "owner" : "ds",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Lht;"
+ }, {
+ "field" : "rawSounds",
+ "owner" : "ds",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lht;"
+ }, {
+ "field" : "soundEffectIndex",
+ "owner" : "ds",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Liz;"
+ } ],
+ "methods" : [ {
+ "method" : "getMusicSample",
+ "owner" : "ds",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "(I[IB)Lce;"
+ }, {
+ "method" : "getMusicSample0",
+ "owner" : "ds",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "(II[II)Lce;"
+ }, {
+ "method" : "getSoundEffect",
+ "owner" : "ds",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "(I[II)Lce;"
+ }, {
+ "method" : "getSoundEffect0",
+ "owner" : "ds",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "(II[II)Lce;"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Liz;Liz;)V"
+ } ]
+}, {
+ "class" : "Messages",
+ "name" : "cf",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ ]
+}, {
+ "class" : "BoundaryObject",
+ "name" : "ep",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "entity1",
+ "owner" : "ep",
+ "name" : "f",
+ "access" : 1,
+ "descriptor" : "Lem;"
+ }, {
+ "field" : "entity2",
+ "owner" : "ep",
+ "name" : "p",
+ "access" : 1,
+ "descriptor" : "Lem;"
+ }, {
+ "field" : "flags",
+ "owner" : "ep",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1561916487
+ }, {
+ "field" : "orientationA",
+ "owner" : "ep",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1799011399
+ }, {
+ "field" : "orientationB",
+ "owner" : "ep",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -346291033
+ }, {
+ "field" : "tag",
+ "owner" : "ep",
+ "name" : "m",
+ "access" : 1,
+ "descriptor" : "J",
+ "decoder" : 6449850688779105297
+ }, {
+ "field" : "tileHeight",
+ "owner" : "ep",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -940943055
+ }, {
+ "field" : "x",
+ "owner" : "ep",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 794221253
+ }, {
+ "field" : "y",
+ "owner" : "ep",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1427779503
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Skills",
+ "name" : "iu",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ ]
+}, {
+ "class" : "DirectWrapper",
+ "name" : "gf",
+ "super" : "hg",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "obj",
+ "owner" : "gf",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/Object;"
+ } ],
+ "methods" : [ {
+ "method" : "get",
+ "owner" : "gf",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()Ljava/lang/Object;"
+ }, {
+ "method" : "isSoft",
+ "owner" : "gf",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Ljava/lang/Object;I)V"
+ } ]
+}, {
+ "class" : "AttackOption",
+ "name" : "cx",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "gr" ],
+ "fields" : [ {
+ "field" : "id",
+ "owner" : "cx",
+ "name" : "h",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : 1462687381
+ } ],
+ "methods" : [ {
+ "method" : "ordinal",
+ "owner" : "cx",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(I)V"
+ } ]
+}, {
+ "class" : "NetCache",
+ "name" : "io",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ ]
+}, {
+ "class" : "Animation",
+ "name" : "dm",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "hasAlphaTransform",
+ "owner" : "dm",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "skeleton",
+ "owner" : "dm",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "Lev;"
+ }, {
+ "field" : "transformCount",
+ "owner" : "dm",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "transformSkeletonLabels",
+ "owner" : "dm",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "transformXs",
+ "owner" : "dm",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "transformYs",
+ "owner" : "dm",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "transformZs",
+ "owner" : "dm",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "[I"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "([BLev;)V"
+ } ]
+}, {
+ "class" : "HealthBar",
+ "name" : "bm",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "definition",
+ "owner" : "bm",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Ljp;"
+ }, {
+ "field" : "updates",
+ "owner" : "bm",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lhj;"
+ } ],
+ "methods" : [ {
+ "method" : "get",
+ "owner" : "bm",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "cycle" ],
+ "descriptor" : "(IB)Lby;"
+ }, {
+ "method" : "isEmpty",
+ "owner" : "bm",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)Z"
+ }, {
+ "method" : "put",
+ "owner" : "bm",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "(IIIIB)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Ljp;)V"
+ } ]
+}, {
+ "class" : "Frames",
+ "name" : "ei",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "frames",
+ "owner" : "ei",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "[Ldm;"
+ } ],
+ "methods" : [ {
+ "method" : "hasAlphaTransform",
+ "owner" : "ei",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "frame" ],
+ "descriptor" : "(IB)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Liz;Liz;IZ)V"
+ } ]
+}, {
+ "class" : "DesktopPlatformInfoProvider",
+ "name" : "lm",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "lx" ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "get",
+ "owner" : "lm",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lli;"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "ChatChannel",
+ "name" : "cr",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "count",
+ "owner" : "cr",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1313704483
+ }, {
+ "field" : "messages",
+ "owner" : "cr",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[Lbl;"
+ } ],
+ "methods" : [ {
+ "method" : "addMessage",
+ "owner" : "cr",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "type", "sender", "text", "prefix" ],
+ "descriptor" : "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;B)Lbl;"
+ }, {
+ "method" : "getMessage",
+ "owner" : "cr",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "index" ],
+ "descriptor" : "(II)Lbl;"
+ }, {
+ "method" : "size",
+ "owner" : "cr",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Interpreter",
+ "name" : "bx",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ ]
+}, {
+ "class" : "DemotingHashTable",
+ "name" : "ha",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "capacity",
+ "owner" : "ha",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "hashTable",
+ "owner" : "ha",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Lgs;"
+ }, {
+ "field" : "queue",
+ "owner" : "ha",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lhw;"
+ }, {
+ "field" : "remaining",
+ "owner" : "ha",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ {
+ "method" : "clear",
+ "owner" : "ha",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "demote",
+ "owner" : "ha",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "softeningLevel" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "get",
+ "owner" : "ha",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "key" ],
+ "descriptor" : "(J)Ljava/lang/Object;"
+ }, {
+ "method" : "put",
+ "owner" : "ha",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ "value", "key", "size" ],
+ "descriptor" : "(Ljava/lang/Object;JI)V"
+ }, {
+ "method" : "remove",
+ "owner" : "ha",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "key" ],
+ "descriptor" : "(J)V"
+ }, {
+ "method" : "removeWrapper",
+ "owner" : "ha",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ "wrapper" ],
+ "descriptor" : "(Lhg;)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(II)V"
+ } ]
+}, {
+ "class" : "IndexStoreAction",
+ "name" : "iw",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "data",
+ "owner" : "iw",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "indexCache",
+ "owner" : "iw",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexStore",
+ "owner" : "iw",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Lfb;"
+ }, {
+ "field" : "type",
+ "owner" : "iw",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 610796045
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "SoftWrapper",
+ "name" : "hi",
+ "super" : "hg",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "ref",
+ "owner" : "hi",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/ref/SoftReference;"
+ } ],
+ "methods" : [ {
+ "method" : "get",
+ "owner" : "hi",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()Ljava/lang/Object;"
+ }, {
+ "method" : "isSoft",
+ "owner" : "hi",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Ljava/lang/Object;I)V"
+ } ]
+}, {
+ "class" : "IgnoreList",
+ "name" : "ku",
+ "super" : "kd",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "loginType",
+ "owner" : "ku",
+ "name" : "g",
+ "access" : 16,
+ "descriptor" : "Lll;"
+ } ],
+ "methods" : [ {
+ "method" : "newInstance",
+ "owner" : "ku",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "(I)Lkn;"
+ }, {
+ "method" : "newTypedArray",
+ "owner" : "ku",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "(IB)[Lkn;"
+ }, {
+ "method" : "read",
+ "owner" : "ku",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "buffer", "n" ],
+ "descriptor" : "(Lgx;II)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Lll;)V"
+ } ]
+}, {
+ "class" : "ViewportMouse",
+ "name" : "di",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ ]
+}, {
+ "class" : "Tiles",
+ "name" : "bd",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ ]
+}, {
+ "class" : "Players",
+ "name" : "cd",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ ],
+ "constructors" : [ ]
+}, {
+ "class" : "WorldComparator",
+ "name" : "f",
+ "super" : "java.lang.Object",
+ "access" : 48,
+ "interfaces" : [ "java.util.Comparator" ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "__a_0",
+ "owner" : "f",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lm;Lm;I)I"
+ }, {
+ "method" : "__compare_1",
+ "owner" : "f",
+ "name" : "compare",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/lang/Object;Ljava/lang/Object;)I"
+ }, {
+ "method" : "__equals_2",
+ "owner" : "f",
+ "name" : "equals",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Object;)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "GrandExchangeEvent",
+ "name" : "m",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "grandExchangeOffer",
+ "owner" : "m",
+ "name" : "g",
+ "access" : 17,
+ "descriptor" : "Lb;"
+ }, {
+ "field" : "string1",
+ "owner" : "m",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "string2",
+ "owner" : "m",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "world",
+ "owner" : "m",
+ "name" : "a",
+ "access" : 17,
+ "descriptor" : "I",
+ "decoder" : -1759845203
+ }, {
+ "field" : "__s",
+ "owner" : "m",
+ "name" : "s",
+ "access" : 17,
+ "descriptor" : "J",
+ "decoder" : -3414339192986390507
+ } ],
+ "methods" : [ {
+ "method" : "__a_3",
+ "owner" : "m",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)Ljava/lang/String;"
+ }, {
+ "method" : "__s_4",
+ "owner" : "m",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ljava/lang/String;"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Lgx;BI)V"
+ } ]
+}, {
+ "class" : "TotalQuantityComparator",
+ "name" : "q",
+ "super" : "java.lang.Object",
+ "access" : 48,
+ "interfaces" : [ "java.util.Comparator" ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "__a_5",
+ "owner" : "q",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lm;Lm;I)I"
+ }, {
+ "method" : "__compare_6",
+ "owner" : "q",
+ "name" : "compare",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/lang/Object;Ljava/lang/Object;)I"
+ }, {
+ "method" : "__equals_7",
+ "owner" : "q",
+ "name" : "equals",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Object;)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "GrandExchangeOffer",
+ "name" : "b",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "currentPrice",
+ "owner" : "b",
+ "name" : "f",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -868595835
+ }, {
+ "field" : "currentQuantity",
+ "owner" : "b",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 2001614177
+ }, {
+ "field" : "id",
+ "owner" : "b",
+ "name" : "s",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -639745279
+ }, {
+ "field" : "state",
+ "owner" : "b",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "B"
+ }, {
+ "field" : "totalQuantity",
+ "owner" : "b",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 767275651
+ }, {
+ "field" : "unitPrice",
+ "owner" : "b",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 880192857
+ } ],
+ "methods" : [ {
+ "method" : "status",
+ "owner" : "b",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "type",
+ "owner" : "b",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "__s_8",
+ "owner" : "b",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Integer;I)V"
+ }, {
+ "method" : "__h_9",
+ "owner" : "b",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__f_10",
+ "owner" : "b",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(IS)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ }, {
+ "access" : 1,
+ "descriptor" : "(Lgx;Z)V"
+ } ]
+}, {
+ "class" : "UnitPriceComparator",
+ "name" : "n",
+ "super" : "java.lang.Object",
+ "access" : 48,
+ "interfaces" : [ "java.util.Comparator" ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "__a_11",
+ "owner" : "n",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lm;Lm;I)I"
+ }, {
+ "method" : "__compare_12",
+ "owner" : "n",
+ "name" : "compare",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/lang/Object;Ljava/lang/Object;)I"
+ }, {
+ "method" : "__equals_13",
+ "owner" : "n",
+ "name" : "equals",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Object;)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "WorldMapLabelSize",
+ "name" : "y",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__f",
+ "owner" : "y",
+ "name" : "f",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : -980199831
+ }, {
+ "field" : "__h",
+ "owner" : "y",
+ "name" : "h",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : -1197932527
+ }, {
+ "field" : "__x",
+ "owner" : "y",
+ "name" : "x",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : 319484891
+ } ],
+ "methods" : [ {
+ "method" : "__s_14",
+ "owner" : "y",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(FB)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(III)V"
+ } ]
+}, {
+ "class" : "WorldMapIcon1",
+ "name" : "k",
+ "super" : "at",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "label0",
+ "owner" : "k",
+ "name" : "s",
+ "access" : 16,
+ "descriptor" : "Lay;"
+ }, {
+ "field" : "__a",
+ "owner" : "k",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : 973204081
+ }, {
+ "field" : "__g",
+ "owner" : "k",
+ "name" : "g",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : -1717211973
+ }, {
+ "field" : "__x",
+ "owner" : "k",
+ "name" : "x",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : -1954196195
+ } ],
+ "methods" : [ {
+ "method" : "__a_15",
+ "owner" : "k",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "__s_16",
+ "owner" : "k",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lay;"
+ }, {
+ "method" : "__g_17",
+ "owner" : "k",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__x_18",
+ "owner" : "k",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Lif;Lif;ILay;)V"
+ } ]
+}, {
+ "class" : "WorldMapSection0",
+ "name" : "v",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "au" ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "v",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 695461503
+ }, {
+ "field" : "__b",
+ "owner" : "v",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2039396665
+ }, {
+ "field" : "__e",
+ "owner" : "v",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 97318001
+ }, {
+ "field" : "__f",
+ "owner" : "v",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1002264543
+ }, {
+ "field" : "__g",
+ "owner" : "v",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1116313163
+ }, {
+ "field" : "__h",
+ "owner" : "v",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1556447169
+ }, {
+ "field" : "__m",
+ "owner" : "v",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 6176523
+ }, {
+ "field" : "__n",
+ "owner" : "v",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1766272803
+ }, {
+ "field" : "__p",
+ "owner" : "v",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 999990857
+ }, {
+ "field" : "__q",
+ "owner" : "v",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1893926923
+ }, {
+ "field" : "__r",
+ "owner" : "v",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -579170277
+ }, {
+ "field" : "__s",
+ "owner" : "v",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1135050285
+ }, {
+ "field" : "__t",
+ "owner" : "v",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 2046412045
+ }, {
+ "field" : "__x",
+ "owner" : "v",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -710075067
+ } ],
+ "methods" : [ {
+ "method" : "__a_19",
+ "owner" : "v",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lag;B)V"
+ }, {
+ "method" : "__s_20",
+ "owner" : "v",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIII)Z"
+ }, {
+ "method" : "__g_21",
+ "owner" : "v",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)Z"
+ }, {
+ "method" : "__x_22",
+ "owner" : "v",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIIB)[I"
+ }, {
+ "method" : "__h_23",
+ "owner" : "v",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)Lif;"
+ }, {
+ "method" : "__f_24",
+ "owner" : "v",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "__p_25",
+ "owner" : "v",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "WorldMapSectionType",
+ "name" : "d",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "gr" ],
+ "fields" : [ {
+ "field" : "id",
+ "owner" : "d",
+ "name" : "f",
+ "access" : 16,
+ "descriptor" : "B"
+ }, {
+ "field" : "type",
+ "owner" : "d",
+ "name" : "h",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : 1714622099
+ } ],
+ "methods" : [ {
+ "method" : "__x_26",
+ "owner" : "d",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(IB)V"
+ } ]
+}, {
+ "class" : "WorldMapIcon2",
+ "name" : "c",
+ "super" : "at",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "label0",
+ "owner" : "c",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lay;"
+ }, {
+ "field" : "__f",
+ "owner" : "c",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 114444835
+ }, {
+ "field" : "__g",
+ "owner" : "c",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1355038263
+ }, {
+ "field" : "__h",
+ "owner" : "c",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -256381101
+ }, {
+ "field" : "__s",
+ "owner" : "c",
+ "name" : "s",
+ "access" : 16,
+ "descriptor" : "Laa;"
+ }, {
+ "field" : "__a",
+ "owner" : "c",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : 540736045
+ } ],
+ "methods" : [ {
+ "method" : "__r_27",
+ "owner" : "c",
+ "name" : "r",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__a_28",
+ "owner" : "c",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "__s_29",
+ "owner" : "c",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lay;"
+ }, {
+ "method" : "__g_30",
+ "owner" : "c",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__x_31",
+ "owner" : "c",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Lif;Lif;ILaa;)V"
+ } ]
+}, {
+ "class" : "WorldMapSection3",
+ "name" : "j",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "au" ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "j",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 822317281
+ }, {
+ "field" : "__b",
+ "owner" : "j",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1023412949
+ }, {
+ "field" : "__f",
+ "owner" : "j",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 759266465
+ }, {
+ "field" : "__g",
+ "owner" : "j",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 780633471
+ }, {
+ "field" : "__h",
+ "owner" : "j",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1653980999
+ }, {
+ "field" : "__m",
+ "owner" : "j",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -732185941
+ }, {
+ "field" : "__p",
+ "owner" : "j",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1908347193
+ }, {
+ "field" : "__q",
+ "owner" : "j",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -89751177
+ }, {
+ "field" : "__s",
+ "owner" : "j",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1669145125
+ }, {
+ "field" : "__x",
+ "owner" : "j",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1218050245
+ } ],
+ "methods" : [ {
+ "method" : "__a_32",
+ "owner" : "j",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lag;B)V"
+ }, {
+ "method" : "__s_33",
+ "owner" : "j",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIII)Z"
+ }, {
+ "method" : "__g_34",
+ "owner" : "j",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)Z"
+ }, {
+ "method" : "__x_35",
+ "owner" : "j",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIIB)[I"
+ }, {
+ "method" : "__h_36",
+ "owner" : "j",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)Lif;"
+ }, {
+ "method" : "__f_37",
+ "owner" : "j",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "__p_38",
+ "owner" : "j",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "WorldMapArea",
+ "name" : "ag",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "archiveName0",
+ "owner" : "ag",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "id0",
+ "owner" : "ag",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 83737119
+ }, {
+ "field" : "isMain0",
+ "owner" : "ag",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "maxX0",
+ "owner" : "ag",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -340079057
+ }, {
+ "field" : "maxY0",
+ "owner" : "ag",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1758029463
+ }, {
+ "field" : "minX0",
+ "owner" : "ag",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1515198533
+ }, {
+ "field" : "minY0",
+ "owner" : "ag",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1053186251
+ }, {
+ "field" : "name0",
+ "owner" : "ag",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "origin0",
+ "owner" : "ag",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Lif;"
+ }, {
+ "field" : "sections",
+ "owner" : "ag",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "Ljava/util/LinkedList;"
+ }, {
+ "field" : "zoom0",
+ "owner" : "ag",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 2090188445
+ }, {
+ "field" : "__x",
+ "owner" : "ag",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -449130723
+ } ],
+ "methods" : [ {
+ "method" : "archiveName",
+ "owner" : "ag",
+ "name" : "b",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)Ljava/lang/String;"
+ }, {
+ "method" : "containsCoord",
+ "owner" : "ag",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y" ],
+ "descriptor" : "(IIII)Z"
+ }, {
+ "method" : "containsPosition",
+ "owner" : "ag",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ "x", "y" ],
+ "descriptor" : "(IIS)Z"
+ }, {
+ "method" : "coord",
+ "owner" : "ag",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ "x", "y" ],
+ "descriptor" : "(III)Lif;"
+ }, {
+ "method" : "id",
+ "owner" : "ag",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "isMain",
+ "owner" : "ag",
+ "name" : "q",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "maxX",
+ "owner" : "ag",
+ "name" : "l",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "maxY",
+ "owner" : "ag",
+ "name" : "u",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "minX",
+ "owner" : "ag",
+ "name" : "t",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "minY",
+ "owner" : "ag",
+ "name" : "o",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "name",
+ "owner" : "ag",
+ "name" : "n",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)Ljava/lang/String;"
+ }, {
+ "method" : "origin",
+ "owner" : "ag",
+ "name" : "c",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lif;"
+ }, {
+ "method" : "originPlane",
+ "owner" : "ag",
+ "name" : "k",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "originX",
+ "owner" : "ag",
+ "name" : "y",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "originY",
+ "owner" : "ag",
+ "name" : "v",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "position",
+ "owner" : "ag",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y" ],
+ "descriptor" : "(IIII)[I"
+ }, {
+ "method" : "read",
+ "owner" : "ag",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "(Lgx;IB)V"
+ }, {
+ "method" : "readWorldMapSection",
+ "owner" : "ag",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "(Lgx;I)Lau;"
+ }, {
+ "method" : "setBounds",
+ "owner" : "ag",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "zoom",
+ "owner" : "ag",
+ "name" : "r",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__e_39",
+ "owner" : "ag",
+ "name" : "e",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "WorldMapRegion",
+ "name" : "aa",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "fonts",
+ "owner" : "aa",
+ "name" : "t",
+ "access" : 16,
+ "descriptor" : "Ljava/util/HashMap;"
+ }, {
+ "field" : "iconsList",
+ "owner" : "aa",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "Ljava/util/List;"
+ }, {
+ "field" : "iconsMap",
+ "owner" : "aa",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashMap;"
+ }, {
+ "field" : "x",
+ "owner" : "aa",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2040938815
+ }, {
+ "field" : "y",
+ "owner" : "aa",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 456795829
+ }, {
+ "field" : "__b",
+ "owner" : "aa",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1559167195
+ }, {
+ "field" : "__n",
+ "owner" : "aa",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -827937127
+ }, {
+ "field" : "__q",
+ "owner" : "aa",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "Ljava/util/LinkedList;"
+ } ],
+ "methods" : [ {
+ "method" : "icons",
+ "owner" : "aa",
+ "name" : "al",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)Ljava/util/List;"
+ }, {
+ "method" : "__g_40",
+ "owner" : "aa",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIIB)V"
+ }, {
+ "method" : "__h_41",
+ "owner" : "aa",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/util/HashSet;Ljava/util/List;I)V"
+ }, {
+ "method" : "__m_42",
+ "owner" : "aa",
+ "name" : "m",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__q_43",
+ "owner" : "aa",
+ "name" : "q",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/util/List;I)V"
+ }, {
+ "method" : "__b_44",
+ "owner" : "aa",
+ "name" : "b",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__n_45",
+ "owner" : "aa",
+ "name" : "n",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Liz;B)Z"
+ }, {
+ "method" : "__r_46",
+ "owner" : "aa",
+ "name" : "r",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(IIILjava/util/HashSet;I)V"
+ }, {
+ "method" : "__t_47",
+ "owner" : "aa",
+ "name" : "t",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(Ljava/util/HashSet;IIB)V"
+ }, {
+ "method" : "__ab_48",
+ "owner" : "aa",
+ "name" : "ab",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(IILjava/util/HashSet;IB)V"
+ }, {
+ "method" : "__ah_49",
+ "owner" : "aa",
+ "name" : "ah",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(Ljava/util/HashSet;IIB)V"
+ }, {
+ "method" : "__aw_50",
+ "owner" : "aa",
+ "name" : "aw",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4" ],
+ "descriptor" : "(Ljd;IIIIB)V"
+ }, {
+ "method" : "__an_51",
+ "owner" : "aa",
+ "name" : "an",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(Lat;IIFI)V"
+ }, {
+ "method" : "__at_52",
+ "owner" : "aa",
+ "name" : "at",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(Ljd;IIB)V"
+ }, {
+ "method" : "__ae_53",
+ "owner" : "aa",
+ "name" : "ae",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4" ],
+ "descriptor" : "(Lat;Ljd;IIFB)V"
+ }, {
+ "method" : "__av_54",
+ "owner" : "aa",
+ "name" : "av",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(IILjava/util/HashSet;IB)V"
+ }, {
+ "method" : "__ar_55",
+ "owner" : "aa",
+ "name" : "ar",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(IB)Lay;"
+ }, {
+ "method" : "__ai_56",
+ "owner" : "aa",
+ "name" : "ai",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljd;I)Lay;"
+ }, {
+ "method" : "__aq_57",
+ "owner" : "aa",
+ "name" : "aq",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4" ],
+ "descriptor" : "(IIIIII)Ljava/util/List;"
+ }, {
+ "method" : "__az_58",
+ "owner" : "aa",
+ "name" : "az",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(IIIIB)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(IIILjava/util/HashMap;)V"
+ } ]
+}, {
+ "class" : "WorldMapSection2",
+ "name" : "an",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "au" ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "an",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -184754843
+ }, {
+ "field" : "__f",
+ "owner" : "an",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1166178053
+ }, {
+ "field" : "__g",
+ "owner" : "an",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -488123313
+ }, {
+ "field" : "__h",
+ "owner" : "an",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1971572017
+ }, {
+ "field" : "__s",
+ "owner" : "an",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 623001821
+ }, {
+ "field" : "__x",
+ "owner" : "an",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1863463455
+ } ],
+ "methods" : [ {
+ "method" : "__a_59",
+ "owner" : "an",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lag;B)V"
+ }, {
+ "method" : "__s_60",
+ "owner" : "an",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIII)Z"
+ }, {
+ "method" : "__g_61",
+ "owner" : "an",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)Z"
+ }, {
+ "method" : "__x_62",
+ "owner" : "an",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIIB)[I"
+ }, {
+ "method" : "__h_63",
+ "owner" : "an",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)Lif;"
+ }, {
+ "method" : "__f_64",
+ "owner" : "an",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "__p_65",
+ "owner" : "an",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "AbstractWorldMapIcon",
+ "name" : "at",
+ "super" : "java.lang.Object",
+ "access" : 1057,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "coord1",
+ "owner" : "at",
+ "name" : "m",
+ "access" : 17,
+ "descriptor" : "Lif;"
+ }, {
+ "field" : "coord2",
+ "owner" : "at",
+ "name" : "p",
+ "access" : 17,
+ "descriptor" : "Lif;"
+ }, {
+ "field" : "__b",
+ "owner" : "at",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2109258973
+ }, {
+ "field" : "__q",
+ "owner" : "at",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 599188537
+ } ],
+ "methods" : [ {
+ "method" : "element",
+ "owner" : "at",
+ "name" : "a",
+ "access" : 1025,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "label",
+ "owner" : "at",
+ "name" : "s",
+ "access" : 1024,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lay;"
+ }, {
+ "method" : "__o_66",
+ "owner" : "at",
+ "name" : "o",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)Z"
+ }, {
+ "method" : "__u_67",
+ "owner" : "at",
+ "name" : "u",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)Z"
+ }, {
+ "method" : "__y_68",
+ "owner" : "at",
+ "name" : "y",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)Z"
+ }, {
+ "method" : "__k_69",
+ "owner" : "at",
+ "name" : "k",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)Z"
+ }, {
+ "method" : "__x_70",
+ "owner" : "at",
+ "name" : "x",
+ "access" : 1024,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "__g_71",
+ "owner" : "at",
+ "name" : "g",
+ "access" : 1024,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Lif;Lif;)V"
+ } ]
+}, {
+ "class" : "WorldMapManager",
+ "name" : "av",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "fonts",
+ "owner" : "av",
+ "name" : "n",
+ "access" : 16,
+ "descriptor" : "Ljava/util/HashMap;"
+ }, {
+ "field" : "icons",
+ "owner" : "av",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashMap;"
+ }, {
+ "field" : "isLoaded0",
+ "owner" : "av",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "loadStarted",
+ "owner" : "av",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "mapAreaData",
+ "owner" : "av",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Laj;"
+ }, {
+ "field" : "mapSceneSprites",
+ "owner" : "av",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "[Llv;"
+ }, {
+ "field" : "overviewSprite",
+ "owner" : "av",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lld;"
+ }, {
+ "field" : "regions",
+ "owner" : "av",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[[Laa;"
+ }, {
+ "field" : "__e",
+ "owner" : "av",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1632051693
+ }, {
+ "field" : "__l",
+ "owner" : "av",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1531384229
+ }, {
+ "field" : "__r",
+ "owner" : "av",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 649473809
+ }, {
+ "field" : "__t",
+ "owner" : "av",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -213701855
+ }, {
+ "field" : "__p",
+ "owner" : "av",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashMap;"
+ }, {
+ "field" : "__b",
+ "owner" : "av",
+ "name" : "b",
+ "access" : 16,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__q",
+ "owner" : "av",
+ "name" : "q",
+ "access" : 16,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__o",
+ "owner" : "av",
+ "name" : "o",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 384685617
+ } ],
+ "methods" : [ {
+ "method" : "buildIcons",
+ "owner" : "av",
+ "name" : "q",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)Ljava/util/HashMap;"
+ }, {
+ "method" : "buildIcons0",
+ "owner" : "av",
+ "name" : "b",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "clearIcons",
+ "owner" : "av",
+ "name" : "s",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "drawOverview",
+ "owner" : "av",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "(IIIILjava/util/HashSet;III)V"
+ }, {
+ "method" : "isLoaded",
+ "owner" : "av",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)Z"
+ }, {
+ "method" : "load",
+ "owner" : "av",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "indexCache", "cacheName", "isMembersWorld" ],
+ "descriptor" : "(Liz;Ljava/lang/String;ZI)V"
+ }, {
+ "method" : "__g_72",
+ "owner" : "av",
+ "name" : "g",
+ "access" : 17,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5", "arg6", "arg7" ],
+ "descriptor" : "(IIIIIIIII)V"
+ }, {
+ "method" : "__x_73",
+ "owner" : "av",
+ "name" : "x",
+ "access" : 17,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5", "arg6", "arg7", "arg8", "arg9", "arg10", "arg11", "arg12" ],
+ "descriptor" : "(IIIIIIIILjava/util/HashSet;Ljava/util/HashSet;IIZI)V"
+ }, {
+ "method" : "__f_74",
+ "owner" : "av",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5", "arg6", "arg7", "arg8", "arg9" ],
+ "descriptor" : "(IIIIIIIIIII)Ljava/util/List;"
+ }, {
+ "method" : "__n_75",
+ "owner" : "av",
+ "name" : "n",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)F"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "([Llv;Ljava/util/HashMap;Liz;Liz;)V"
+ } ]
+}, {
+ "class" : "WorldMapAreaData",
+ "name" : "aj",
+ "super" : "ag",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__r",
+ "owner" : "aj",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashSet;"
+ }, {
+ "field" : "__t",
+ "owner" : "aj",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashSet;"
+ }, {
+ "field" : "__l",
+ "owner" : "aj",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "Ljava/util/List;"
+ } ],
+ "methods" : [ {
+ "method" : "__ch_76",
+ "owner" : "aj",
+ "name" : "ch",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(Lgx;Lgx;IZB)V"
+ }, {
+ "method" : "__cg_77",
+ "owner" : "aj",
+ "name" : "cg",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lgx;ZI)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "WorldMapSection1",
+ "name" : "aq",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "au" ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "aq",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 2081917621
+ }, {
+ "field" : "__b",
+ "owner" : "aq",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1773785027
+ }, {
+ "field" : "__f",
+ "owner" : "aq",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1161060141
+ }, {
+ "field" : "__g",
+ "owner" : "aq",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1730483659
+ }, {
+ "field" : "__h",
+ "owner" : "aq",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1321512583
+ }, {
+ "field" : "__m",
+ "owner" : "aq",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -348215523
+ }, {
+ "field" : "__p",
+ "owner" : "aq",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1285948983
+ }, {
+ "field" : "__q",
+ "owner" : "aq",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 2062936797
+ }, {
+ "field" : "__s",
+ "owner" : "aq",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 970753025
+ }, {
+ "field" : "__x",
+ "owner" : "aq",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1010655039
+ } ],
+ "methods" : [ {
+ "method" : "__a_78",
+ "owner" : "aq",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lag;B)V"
+ }, {
+ "method" : "__s_79",
+ "owner" : "aq",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIII)Z"
+ }, {
+ "method" : "__g_80",
+ "owner" : "aq",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)Z"
+ }, {
+ "method" : "__x_81",
+ "owner" : "aq",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIIB)[I"
+ }, {
+ "method" : "__h_82",
+ "owner" : "aq",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)Lif;"
+ }, {
+ "method" : "__f_83",
+ "owner" : "aq",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "__p_84",
+ "owner" : "aq",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "MouseWheelHandler",
+ "name" : "al",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ "ff", "java.awt.event.MouseWheelListener" ],
+ "fields" : [ {
+ "field" : "rotation",
+ "owner" : "al",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1114257373
+ } ],
+ "methods" : [ {
+ "method" : "addTo",
+ "owner" : "al",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "component" ],
+ "descriptor" : "(Ljava/awt/Component;I)V"
+ }, {
+ "method" : "removeFrom",
+ "owner" : "al",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "component" ],
+ "descriptor" : "(Ljava/awt/Component;I)V"
+ }, {
+ "method" : "useRotation",
+ "owner" : "al",
+ "name" : "g",
+ "access" : 33,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "__mouseWheelMoved_85",
+ "owner" : "al",
+ "name" : "mouseWheelMoved",
+ "access" : 33,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/MouseWheelEvent;)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "KeyHandler",
+ "name" : "az",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ "java.awt.event.KeyListener", "java.awt.event.FocusListener" ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "keyPressed",
+ "owner" : "az",
+ "name" : "keyPressed",
+ "access" : 49,
+ "parameters" : [ "ke" ],
+ "descriptor" : "(Ljava/awt/event/KeyEvent;)V"
+ }, {
+ "method" : "__keyReleased_86",
+ "owner" : "az",
+ "name" : "keyReleased",
+ "access" : 49,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/KeyEvent;)V"
+ }, {
+ "method" : "__keyTyped_87",
+ "owner" : "az",
+ "name" : "keyTyped",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/KeyEvent;)V"
+ }, {
+ "method" : "__focusGained_88",
+ "owner" : "az",
+ "name" : "focusGained",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/FocusEvent;)V"
+ }, {
+ "method" : "__focusLost_89",
+ "owner" : "az",
+ "name" : "focusLost",
+ "access" : 49,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/FocusEvent;)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "GameShell",
+ "name" : "bf",
+ "super" : "java.applet.Applet",
+ "access" : 1057,
+ "interfaces" : [ "java.lang.Runnable", "java.awt.event.FocusListener", "java.awt.event.WindowListener" ],
+ "fields" : [ {
+ "field" : "canvas",
+ "owner" : "bf",
+ "name" : "aw",
+ "access" : 0,
+ "descriptor" : "Ljava/awt/Canvas;"
+ }, {
+ "field" : "canvasSetTimeMs",
+ "owner" : "bf",
+ "name" : "aj",
+ "access" : 64,
+ "descriptor" : "J",
+ "decoder" : -1598657648971181769
+ }, {
+ "field" : "canvasX",
+ "owner" : "bf",
+ "name" : "d",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -436883039
+ }, {
+ "field" : "canvasY",
+ "owner" : "bf",
+ "name" : "i",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2122739505
+ }, {
+ "field" : "clipboard",
+ "owner" : "bf",
+ "name" : "aq",
+ "access" : 0,
+ "descriptor" : "Ljava/awt/datatransfer/Clipboard;"
+ }, {
+ "field" : "contentHeight",
+ "owner" : "bf",
+ "name" : "v",
+ "access" : 4,
+ "descriptor" : "I",
+ "decoder" : -115409751
+ }, {
+ "field" : "contentHeight0",
+ "owner" : "bf",
+ "name" : "ag",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1394216331
+ }, {
+ "field" : "contentWidth",
+ "owner" : "bf",
+ "name" : "k",
+ "access" : 4,
+ "descriptor" : "I",
+ "decoder" : -1412716173
+ }, {
+ "field" : "contentWidth0",
+ "owner" : "bf",
+ "name" : "z",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1305585803
+ }, {
+ "field" : "eventQueue",
+ "owner" : "bf",
+ "name" : "al",
+ "access" : 16,
+ "descriptor" : "Ljava/awt/EventQueue;"
+ }, {
+ "field" : "frame",
+ "owner" : "bf",
+ "name" : "ah",
+ "access" : 0,
+ "descriptor" : "Ljava/awt/Frame;"
+ }, {
+ "field" : "hasErrored",
+ "owner" : "bf",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isCanvasInvalid",
+ "owner" : "bf",
+ "name" : "au",
+ "access" : 64,
+ "descriptor" : "Z"
+ }, {
+ "field" : "mouseWheelHandler",
+ "owner" : "bf",
+ "name" : "ai",
+ "access" : 0,
+ "descriptor" : "Lal;"
+ }, {
+ "field" : "stopTimeMs",
+ "owner" : "bf",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "J",
+ "decoder" : 2200593536258227471
+ }, {
+ "field" : "__av",
+ "owner" : "bf",
+ "name" : "av",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__af",
+ "owner" : "bf",
+ "name" : "af",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1759103007
+ }, {
+ "field" : "__ay",
+ "owner" : "bf",
+ "name" : "ay",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -245156879
+ }, {
+ "field" : "__an",
+ "owner" : "bf",
+ "name" : "an",
+ "access" : 64,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "addCanvas",
+ "owner" : "bf",
+ "name" : "v",
+ "access" : 48,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "checkHost",
+ "owner" : "bf",
+ "name" : "c",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "clearBackground",
+ "owner" : "bf",
+ "name" : "t",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "clipboardSetString",
+ "owner" : "bf",
+ "name" : "q",
+ "access" : 4,
+ "parameters" : [ "s" ],
+ "descriptor" : "(Ljava/lang/String;I)V"
+ }, {
+ "method" : "container",
+ "owner" : "bf",
+ "name" : "aq",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)Ljava/awt/Container;"
+ }, {
+ "method" : "drawInitial",
+ "owner" : "bf",
+ "name" : "as",
+ "access" : 20,
+ "descriptor" : "(ILjava/lang/String;ZI)V"
+ }, {
+ "method" : "error",
+ "owner" : "bf",
+ "name" : "ai",
+ "access" : 4,
+ "parameters" : [ "type" ],
+ "descriptor" : "(Ljava/lang/String;I)V"
+ }, {
+ "method" : "focusGained",
+ "owner" : "bf",
+ "name" : "focusGained",
+ "access" : 17,
+ "descriptor" : "(Ljava/awt/event/FocusEvent;)V"
+ }, {
+ "method" : "getFrameContentBounds",
+ "owner" : "bf",
+ "name" : "al",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Llh;"
+ }, {
+ "method" : "hasFrame",
+ "owner" : "bf",
+ "name" : "az",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "kill",
+ "owner" : "bf",
+ "name" : "an",
+ "access" : 48,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "kill0",
+ "owner" : "bf",
+ "name" : "aj",
+ "access" : 1028,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "mouseWheel",
+ "owner" : "bf",
+ "name" : "p",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "(B)Lff;"
+ }, {
+ "method" : "paint",
+ "owner" : "bf",
+ "name" : "paint",
+ "access" : 49,
+ "parameters" : [ "g" ],
+ "descriptor" : "(Ljava/awt/Graphics;)V"
+ }, {
+ "method" : "replaceCanvas",
+ "owner" : "bf",
+ "name" : "l",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "run",
+ "owner" : "bf",
+ "name" : "run",
+ "access" : 1,
+ "descriptor" : "()V"
+ }, {
+ "method" : "setUp",
+ "owner" : "bf",
+ "name" : "ae",
+ "access" : 1028,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "setUpClipboard",
+ "owner" : "bf",
+ "name" : "m",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "setUpKeyboard",
+ "owner" : "bf",
+ "name" : "b",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "setUpMouse",
+ "owner" : "bf",
+ "name" : "n",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "startThread",
+ "owner" : "bf",
+ "name" : "k",
+ "access" : 20,
+ "parameters" : [ "width", "height", "revision" ],
+ "descriptor" : "(IIIB)V"
+ }, {
+ "method" : "update",
+ "owner" : "bf",
+ "name" : "update",
+ "access" : 17,
+ "parameters" : [ "g" ],
+ "descriptor" : "(Ljava/awt/Graphics;)V"
+ }, {
+ "method" : "__h_90",
+ "owner" : "bf",
+ "name" : "h",
+ "access" : 20,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__f_91",
+ "owner" : "bf",
+ "name" : "f",
+ "access" : 16,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Object;I)V"
+ }, {
+ "method" : "__e_92",
+ "owner" : "bf",
+ "name" : "e",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__aa_93",
+ "owner" : "bf",
+ "name" : "aa",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "__ab_94",
+ "owner" : "bf",
+ "name" : "ab",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__ah_95",
+ "owner" : "bf",
+ "name" : "ah",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(S)V"
+ }, {
+ "method" : "__aw_96",
+ "owner" : "bf",
+ "name" : "aw",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__start_97",
+ "owner" : "bf",
+ "name" : "start",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__stop_98",
+ "owner" : "bf",
+ "name" : "stop",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__destroy_99",
+ "owner" : "bf",
+ "name" : "destroy",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__focusLost_100",
+ "owner" : "bf",
+ "name" : "focusLost",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/FocusEvent;)V"
+ }, {
+ "method" : "__windowActivated_101",
+ "owner" : "bf",
+ "name" : "windowActivated",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/WindowEvent;)V"
+ }, {
+ "method" : "__windowClosed_102",
+ "owner" : "bf",
+ "name" : "windowClosed",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/WindowEvent;)V"
+ }, {
+ "method" : "__windowClosing_103",
+ "owner" : "bf",
+ "name" : "windowClosing",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/WindowEvent;)V"
+ }, {
+ "method" : "__windowDeactivated_104",
+ "owner" : "bf",
+ "name" : "windowDeactivated",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/WindowEvent;)V"
+ }, {
+ "method" : "__windowDeiconified_105",
+ "owner" : "bf",
+ "name" : "windowDeiconified",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/WindowEvent;)V"
+ }, {
+ "method" : "__windowIconified_106",
+ "owner" : "bf",
+ "name" : "windowIconified",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/WindowEvent;)V"
+ }, {
+ "method" : "__windowOpened_107",
+ "owner" : "bf",
+ "name" : "windowOpened",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/WindowEvent;)V"
+ }, {
+ "method" : "__ar_108",
+ "owner" : "bf",
+ "name" : "ar",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__r_109",
+ "owner" : "bf",
+ "name" : "r",
+ "access" : 1028,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__av_110",
+ "owner" : "bf",
+ "name" : "av",
+ "access" : 1028,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "__init_111",
+ "owner" : "bf",
+ "name" : "init",
+ "access" : 1025,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__ao_112",
+ "owner" : "bf",
+ "name" : "ao",
+ "access" : 1028,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__au_113",
+ "owner" : "bf",
+ "name" : "au",
+ "access" : 1028,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(ZB)V"
+ } ],
+ "constructors" : [ {
+ "access" : 4,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "MouseHandler",
+ "name" : "bo",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.awt.event.MouseListener", "java.awt.event.MouseMotionListener", "java.awt.event.FocusListener" ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "getButton",
+ "owner" : "bo",
+ "name" : "f",
+ "access" : 16,
+ "parameters" : [ "mouseEvent" ],
+ "descriptor" : "(Ljava/awt/event/MouseEvent;I)I"
+ }, {
+ "method" : "mouseMoved",
+ "owner" : "bo",
+ "name" : "mouseMoved",
+ "access" : 49,
+ "descriptor" : "(Ljava/awt/event/MouseEvent;)V"
+ }, {
+ "method" : "mousePressed",
+ "owner" : "bo",
+ "name" : "mousePressed",
+ "access" : 49,
+ "descriptor" : "(Ljava/awt/event/MouseEvent;)V"
+ }, {
+ "method" : "__mouseReleased_114",
+ "owner" : "bo",
+ "name" : "mouseReleased",
+ "access" : 49,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/MouseEvent;)V"
+ }, {
+ "method" : "__mouseClicked_115",
+ "owner" : "bo",
+ "name" : "mouseClicked",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/MouseEvent;)V"
+ }, {
+ "method" : "__mouseEntered_116",
+ "owner" : "bo",
+ "name" : "mouseEntered",
+ "access" : 49,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/MouseEvent;)V"
+ }, {
+ "method" : "__mouseExited_117",
+ "owner" : "bo",
+ "name" : "mouseExited",
+ "access" : 49,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/MouseEvent;)V"
+ }, {
+ "method" : "__mouseDragged_118",
+ "owner" : "bo",
+ "name" : "mouseDragged",
+ "access" : 49,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/MouseEvent;)V"
+ }, {
+ "method" : "__focusGained_119",
+ "owner" : "bo",
+ "name" : "focusGained",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/FocusEvent;)V"
+ }, {
+ "method" : "__focusLost_120",
+ "owner" : "bo",
+ "name" : "focusLost",
+ "access" : 49,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/awt/event/FocusEvent;)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "SecureRandomCallable",
+ "name" : "bi",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.util.concurrent.Callable" ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "__call_121",
+ "owner" : "bi",
+ "name" : "call",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Ljava/lang/Object;"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "IndexCacheLoader",
+ "name" : "bp",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "indexCache",
+ "owner" : "bp",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "__g",
+ "owner" : "bp",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1280592929
+ }, {
+ "field" : "__s",
+ "owner" : "bp",
+ "name" : "s",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : -1652610261
+ } ],
+ "methods" : [ {
+ "method" : "__a_122",
+ "owner" : "bp",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Lin;Ljava/lang/String;)V"
+ } ]
+}, {
+ "class" : "ScriptEvent",
+ "name" : "br",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "args0",
+ "owner" : "br",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "boolean1",
+ "owner" : "br",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "dragTarget",
+ "owner" : "br",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Lia;"
+ }, {
+ "field" : "keyPressed",
+ "owner" : "br",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2039703453
+ }, {
+ "field" : "keyTyped",
+ "owner" : "br",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -96271991
+ }, {
+ "field" : "mouseX",
+ "owner" : "br",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1419270535
+ }, {
+ "field" : "mouseY",
+ "owner" : "br",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -988996033
+ }, {
+ "field" : "opIndex",
+ "owner" : "br",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1496955721
+ }, {
+ "field" : "targetName",
+ "owner" : "br",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "type0",
+ "owner" : "br",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -599757907
+ }, {
+ "field" : "widget",
+ "owner" : "br",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Lia;"
+ }, {
+ "field" : "__n",
+ "owner" : "br",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1169064191
+ } ],
+ "methods" : [ {
+ "method" : "setArgs",
+ "owner" : "br",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "args" ],
+ "descriptor" : "([Ljava/lang/Object;I)V"
+ }, {
+ "method" : "setType",
+ "owner" : "br",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "type" ],
+ "descriptor" : "(IB)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "MouseRecorder",
+ "name" : "bn",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.lang.Runnable" ],
+ "fields" : [ {
+ "field" : "index",
+ "owner" : "bn",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1127531481
+ }, {
+ "field" : "isRunning",
+ "owner" : "bn",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "lock",
+ "owner" : "bn",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/Object;"
+ }, {
+ "field" : "millis",
+ "owner" : "bn",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[J"
+ }, {
+ "field" : "xs",
+ "owner" : "bn",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "ys",
+ "owner" : "bn",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "[I"
+ } ],
+ "methods" : [ {
+ "method" : "__run_123",
+ "owner" : "bn",
+ "name" : "run",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Player",
+ "name" : "bw",
+ "super" : "bq",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "actions",
+ "owner" : "bw",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "animationCycleEnd",
+ "owner" : "bw",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1372159177
+ }, {
+ "field" : "animationCycleStart",
+ "owner" : "bw",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -666305427
+ }, {
+ "field" : "appearance",
+ "owner" : "bw",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lil;"
+ }, {
+ "field" : "combatLevel",
+ "owner" : "bw",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 130093369
+ }, {
+ "field" : "headIconPk",
+ "owner" : "bw",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -225579375
+ }, {
+ "field" : "headIconPrayer",
+ "owner" : "bw",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 841091679
+ }, {
+ "field" : "index",
+ "owner" : "bw",
+ "name" : "c",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 85931753
+ }, {
+ "field" : "isFriend",
+ "owner" : "bw",
+ "name" : "j",
+ "access" : 0,
+ "descriptor" : "Lkz;"
+ }, {
+ "field" : "isHidden",
+ "owner" : "bw",
+ "name" : "w",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isInClanChat",
+ "owner" : "bw",
+ "name" : "z",
+ "access" : 0,
+ "descriptor" : "Lkz;"
+ }, {
+ "field" : "isUnanimated",
+ "owner" : "bw",
+ "name" : "v",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "model0",
+ "owner" : "bw",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "Ldv;"
+ }, {
+ "field" : "plane",
+ "owner" : "bw",
+ "name" : "i",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1598019255
+ }, {
+ "field" : "skillLevel",
+ "owner" : "bw",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -507227167
+ }, {
+ "field" : "team",
+ "owner" : "bw",
+ "name" : "d",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1580341907
+ }, {
+ "field" : "tileHeight",
+ "owner" : "bw",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -676759193
+ }, {
+ "field" : "tileHeight2",
+ "owner" : "bw",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1646896689
+ }, {
+ "field" : "tileX",
+ "owner" : "bw",
+ "name" : "af",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -169880463
+ }, {
+ "field" : "tileY",
+ "owner" : "bw",
+ "name" : "ay",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1778383835
+ }, {
+ "field" : "username",
+ "owner" : "bw",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lkx;"
+ }, {
+ "field" : "__ag",
+ "owner" : "bw",
+ "name" : "ag",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__e",
+ "owner" : "bw",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1007197773
+ }, {
+ "field" : "__k",
+ "owner" : "bw",
+ "name" : "k",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 2058832411
+ }, {
+ "field" : "__o",
+ "owner" : "bw",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -647731317
+ }, {
+ "field" : "__t",
+ "owner" : "bw",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -429766051
+ }, {
+ "field" : "__u",
+ "owner" : "bw",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1193024319
+ }, {
+ "field" : "__y",
+ "owner" : "bw",
+ "name" : "y",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -258556587
+ } ],
+ "methods" : [ {
+ "method" : "getModel",
+ "owner" : "bw",
+ "name" : "q",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ldv;"
+ }, {
+ "method" : "isVisible",
+ "owner" : "bw",
+ "name" : "r",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "read",
+ "owner" : "bw",
+ "name" : "a",
+ "access" : 16,
+ "parameters" : [ "buffer" ],
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "resetPath",
+ "owner" : "bw",
+ "name" : "n",
+ "access" : 0,
+ "parameters" : [ "x", "y" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "transformedSize",
+ "owner" : "bw",
+ "name" : "m",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "__s_124",
+ "owner" : "bw",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)Z"
+ }, {
+ "method" : "__g_125",
+ "owner" : "bw",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__x_126",
+ "owner" : "bw",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "__h_127",
+ "owner" : "bw",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__f_128",
+ "owner" : "bw",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__p_129",
+ "owner" : "bw",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "__b_130",
+ "owner" : "bw",
+ "name" : "b",
+ "access" : 16,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIBI)V"
+ }, {
+ "method" : "__e_131",
+ "owner" : "bw",
+ "name" : "e",
+ "access" : 16,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIBB)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "OwnWorldComparator",
+ "name" : "bh",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.util.Comparator" ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "bh",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "__a_132",
+ "owner" : "bh",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lm;Lm;I)I"
+ }, {
+ "method" : "__compare_133",
+ "owner" : "bh",
+ "name" : "compare",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/lang/Object;Ljava/lang/Object;)I"
+ }, {
+ "method" : "__equals_134",
+ "owner" : "bh",
+ "name" : "equals",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Object;)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Actor",
+ "name" : "bq",
+ "super" : "em",
+ "access" : 1057,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "defaultHeight",
+ "owner" : "bq",
+ "name" : "ca",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 685164573
+ }, {
+ "field" : "false0",
+ "owner" : "bq",
+ "name" : "bp",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "healthBars",
+ "owner" : "bq",
+ "name" : "bz",
+ "access" : 0,
+ "descriptor" : "Lhj;"
+ }, {
+ "field" : "heightOffset",
+ "owner" : "bq",
+ "name" : "bt",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 895752093
+ }, {
+ "field" : "hitSplatCount",
+ "owner" : "bq",
+ "name" : "ak",
+ "access" : 0,
+ "descriptor" : "B"
+ }, {
+ "field" : "hitSplatCycles",
+ "owner" : "bq",
+ "name" : "bo",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "hitSplatTypes",
+ "owner" : "bq",
+ "name" : "am",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "hitSplatTypes2",
+ "owner" : "bq",
+ "name" : "be",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "hitSplatValues",
+ "owner" : "bq",
+ "name" : "bf",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "hitSplatValues2",
+ "owner" : "bq",
+ "name" : "bd",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "idleSequence",
+ "owner" : "bq",
+ "name" : "ae",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -121701009
+ }, {
+ "field" : "isAutoChatting",
+ "owner" : "bq",
+ "name" : "az",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "movementFrame",
+ "owner" : "bq",
+ "name" : "bk",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1407567875
+ }, {
+ "field" : "movementFrameCycle",
+ "owner" : "bq",
+ "name" : "br",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -718435821
+ }, {
+ "field" : "movementSequence",
+ "owner" : "bq",
+ "name" : "bg",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -153239745
+ }, {
+ "field" : "npcCycle",
+ "owner" : "bq",
+ "name" : "cg",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2123022555
+ }, {
+ "field" : "orientation",
+ "owner" : "bq",
+ "name" : "cy",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 626883897
+ }, {
+ "field" : "overheadText",
+ "owner" : "bq",
+ "name" : "al",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "overheadTextColor",
+ "owner" : "bq",
+ "name" : "ad",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1214946269
+ }, {
+ "field" : "overheadTextCyclesRemaining",
+ "owner" : "bq",
+ "name" : "ao",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 849184353
+ }, {
+ "field" : "overheadTextEffect",
+ "owner" : "bq",
+ "name" : "ax",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1527954605
+ }, {
+ "field" : "pathLength",
+ "owner" : "bq",
+ "name" : "ct",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1560785533
+ }, {
+ "field" : "pathTraversed",
+ "owner" : "bq",
+ "name" : "cd",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "pathX",
+ "owner" : "bq",
+ "name" : "cb",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "pathY",
+ "owner" : "bq",
+ "name" : "cp",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "playerCycle",
+ "owner" : "bq",
+ "name" : "at",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1667088189
+ }, {
+ "field" : "runSequence",
+ "owner" : "bq",
+ "name" : "aq",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1732730569
+ }, {
+ "field" : "sequence",
+ "owner" : "bq",
+ "name" : "bn",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -319378323
+ }, {
+ "field" : "sequenceDelay",
+ "owner" : "bq",
+ "name" : "bw",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 397052649
+ }, {
+ "field" : "sequenceFrame",
+ "owner" : "bq",
+ "name" : "bl",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1278509105
+ }, {
+ "field" : "sequenceFrameCycle",
+ "owner" : "bq",
+ "name" : "bb",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1370039961
+ }, {
+ "field" : "size",
+ "owner" : "bq",
+ "name" : "an",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1322552639
+ }, {
+ "field" : "spotAnimation",
+ "owner" : "bq",
+ "name" : "bj",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1484984709
+ }, {
+ "field" : "spotAnimationFrame",
+ "owner" : "bq",
+ "name" : "bq",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1050412339
+ }, {
+ "field" : "spotAnimationFrameCycle",
+ "owner" : "bq",
+ "name" : "by",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -706448991
+ }, {
+ "field" : "targetIndex",
+ "owner" : "bq",
+ "name" : "bi",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1157261129
+ }, {
+ "field" : "turnLeftSequence",
+ "owner" : "bq",
+ "name" : "av",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2023022381
+ }, {
+ "field" : "turnRightSequence",
+ "owner" : "bq",
+ "name" : "au",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -112176649
+ }, {
+ "field" : "walkSequence",
+ "owner" : "bq",
+ "name" : "aj",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -305543637
+ }, {
+ "field" : "walkTurnLeftSequence",
+ "owner" : "bq",
+ "name" : "ar",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -835556093
+ }, {
+ "field" : "walkTurnRightSequence",
+ "owner" : "bq",
+ "name" : "ai",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1401491189
+ }, {
+ "field" : "walkTurnSequence",
+ "owner" : "bq",
+ "name" : "as",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 529424019
+ }, {
+ "field" : "x",
+ "owner" : "bq",
+ "name" : "aa",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1234429701
+ }, {
+ "field" : "y",
+ "owner" : "bq",
+ "name" : "ab",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1597666721
+ }, {
+ "field" : "__ac",
+ "owner" : "bq",
+ "name" : "ac",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__aw",
+ "owner" : "bq",
+ "name" : "aw",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__ah",
+ "owner" : "bq",
+ "name" : "ah",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 832489571
+ }, {
+ "field" : "__ba",
+ "owner" : "bq",
+ "name" : "ba",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1657595709
+ }, {
+ "field" : "__bc",
+ "owner" : "bq",
+ "name" : "bc",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -645429661
+ }, {
+ "field" : "__bh",
+ "owner" : "bq",
+ "name" : "bh",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -765100633
+ }, {
+ "field" : "__bm",
+ "owner" : "bq",
+ "name" : "bm",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1357876641
+ }, {
+ "field" : "__bs",
+ "owner" : "bq",
+ "name" : "bs",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -889714255
+ }, {
+ "field" : "__bu",
+ "owner" : "bq",
+ "name" : "bu",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -942376823
+ }, {
+ "field" : "__bv",
+ "owner" : "bq",
+ "name" : "bv",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1393318171
+ }, {
+ "field" : "__bx",
+ "owner" : "bq",
+ "name" : "bx",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -998815435
+ }, {
+ "field" : "__cc",
+ "owner" : "bq",
+ "name" : "cc",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1110409789
+ }, {
+ "field" : "__cf",
+ "owner" : "bq",
+ "name" : "cf",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1251865369
+ }, {
+ "field" : "__ch",
+ "owner" : "bq",
+ "name" : "ch",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2049705409
+ }, {
+ "field" : "__cm",
+ "owner" : "bq",
+ "name" : "cm",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -29901391
+ }, {
+ "field" : "__cq",
+ "owner" : "bq",
+ "name" : "cq",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1068430487
+ }, {
+ "field" : "__cx",
+ "owner" : "bq",
+ "name" : "cx",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 959033621
+ } ],
+ "methods" : [ {
+ "method" : "addHealthBar",
+ "owner" : "bq",
+ "name" : "bz",
+ "access" : 16,
+ "parameters" : [ "healthBarDefinition", "cycle", "n0", "n1", "n2", "n3" ],
+ "descriptor" : "(IIIIIII)V"
+ }, {
+ "method" : "addHitSplat",
+ "owner" : "bq",
+ "name" : "bd",
+ "access" : 16,
+ "parameters" : [ "type", "value", "type2", "value2", "cycle", "cycle2" ],
+ "descriptor" : "(IIIIIII)V"
+ }, {
+ "method" : "isVisible",
+ "owner" : "bq",
+ "name" : "r",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "removeHealthBar",
+ "owner" : "bq",
+ "name" : "bi",
+ "access" : 16,
+ "parameters" : [ "healthBarDefinition" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__be_143",
+ "owner" : "bq",
+ "name" : "be",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "World",
+ "name" : "bu",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "activity",
+ "owner" : "bu",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "host",
+ "owner" : "bu",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "id",
+ "owner" : "bu",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -302226347
+ }, {
+ "field" : "index",
+ "owner" : "bu",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1757323849
+ }, {
+ "field" : "location",
+ "owner" : "bu",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 914192843
+ }, {
+ "field" : "population",
+ "owner" : "bu",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1720648033
+ }, {
+ "field" : "properties",
+ "owner" : "bu",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1056458959
+ } ],
+ "methods" : [ {
+ "method" : "__b_144",
+ "owner" : "bu",
+ "name" : "b",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__n_145",
+ "owner" : "bu",
+ "name" : "n",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__e_146",
+ "owner" : "bu",
+ "name" : "e",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__r_147",
+ "owner" : "bu",
+ "name" : "r",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__t_148",
+ "owner" : "bu",
+ "name" : "t",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__l_149",
+ "owner" : "bu",
+ "name" : "l",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "ClientPreferences",
+ "name" : "bt",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "hideUsername",
+ "owner" : "bt",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "parameters",
+ "owner" : "bt",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "Ljava/util/LinkedHashMap;"
+ }, {
+ "field" : "rememberedUsername",
+ "owner" : "bt",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "roofsHidden",
+ "owner" : "bt",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "titleMusicDisabled",
+ "owner" : "bt",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "windowMode",
+ "owner" : "bt",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -668421335
+ } ],
+ "methods" : [ {
+ "method" : "toBuffer",
+ "owner" : "bt",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lgx;"
+ }, {
+ "method" : "__a_150",
+ "owner" : "bt",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(ZB)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ }, {
+ "access" : 0,
+ "descriptor" : "(Lgx;)V"
+ } ]
+}, {
+ "class" : "FriendSystem",
+ "name" : "bc",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "friendsList",
+ "owner" : "bc",
+ "name" : "h",
+ "access" : 17,
+ "descriptor" : "Lkr;"
+ }, {
+ "field" : "ignoreList",
+ "owner" : "bc",
+ "name" : "f",
+ "access" : 17,
+ "descriptor" : "Lku;"
+ }, {
+ "field" : "loginType",
+ "owner" : "bc",
+ "name" : "x",
+ "access" : 16,
+ "descriptor" : "Lll;"
+ }, {
+ "field" : "__p",
+ "owner" : "bc",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2083063705
+ } ],
+ "methods" : [ {
+ "method" : "clear",
+ "owner" : "bc",
+ "name" : "h",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "removeFriend",
+ "owner" : "bc",
+ "name" : "c",
+ "access" : 16,
+ "parameters" : [ "name" ],
+ "descriptor" : "(Ljava/lang/String;I)V"
+ }, {
+ "method" : "removeIgnore",
+ "owner" : "bc",
+ "name" : "aa",
+ "access" : 16,
+ "parameters" : [ "name" ],
+ "descriptor" : "(Ljava/lang/String;S)V"
+ }, {
+ "method" : "__a_151",
+ "owner" : "bc",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__s_152",
+ "owner" : "bc",
+ "name" : "s",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "__g_153",
+ "owner" : "bc",
+ "name" : "g",
+ "access" : 16,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lgx;IB)V"
+ }, {
+ "method" : "__x_154",
+ "owner" : "bc",
+ "name" : "x",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__f_155",
+ "owner" : "bc",
+ "name" : "f",
+ "access" : 16,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lkx;ZB)Z"
+ }, {
+ "method" : "__p_156",
+ "owner" : "bc",
+ "name" : "p",
+ "access" : 16,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lkx;I)Z"
+ }, {
+ "method" : "__m_157",
+ "owner" : "bc",
+ "name" : "m",
+ "access" : 16,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/String;B)V"
+ }, {
+ "method" : "__l_158",
+ "owner" : "bc",
+ "name" : "l",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(B)Z"
+ }, {
+ "method" : "__o_159",
+ "owner" : "bc",
+ "name" : "o",
+ "access" : 16,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/String;I)V"
+ }, {
+ "method" : "__v_160",
+ "owner" : "bc",
+ "name" : "v",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__ah_161",
+ "owner" : "bc",
+ "name" : "ah",
+ "access" : 16,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lkx;B)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Lll;)V"
+ } ]
+}, {
+ "class" : "ObjectSound",
+ "name" : "bs",
+ "super" : "hy",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "obj",
+ "owner" : "bs",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "Ljy;"
+ }, {
+ "field" : "soundEffectId",
+ "owner" : "bs",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -807786543
+ }, {
+ "field" : "soundEffectIds",
+ "owner" : "bs",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "stream1",
+ "owner" : "bs",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "Ldt;"
+ }, {
+ "field" : "stream2",
+ "owner" : "bs",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "Ldt;"
+ }, {
+ "field" : "__f",
+ "owner" : "bs",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -437401471
+ }, {
+ "field" : "__g",
+ "owner" : "bs",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1251333887
+ }, {
+ "field" : "__h",
+ "owner" : "bs",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1536927781
+ }, {
+ "field" : "__m",
+ "owner" : "bs",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1314334491
+ }, {
+ "field" : "__n",
+ "owner" : "bs",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1014964059
+ }, {
+ "field" : "__p",
+ "owner" : "bs",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1992310679
+ }, {
+ "field" : "__s",
+ "owner" : "bs",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -312559283
+ }, {
+ "field" : "__t",
+ "owner" : "bs",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 66985199
+ }, {
+ "field" : "__x",
+ "owner" : "bs",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1613863125
+ } ],
+ "methods" : [ {
+ "method" : "set",
+ "owner" : "bs",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Npc",
+ "name" : "cm",
+ "super" : "bq",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "definition",
+ "owner" : "cm",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljg;"
+ } ],
+ "methods" : [ {
+ "method" : "getModel",
+ "owner" : "cm",
+ "name" : "q",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ldv;"
+ }, {
+ "method" : "isVisible",
+ "owner" : "cm",
+ "name" : "r",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__a_162",
+ "owner" : "cm",
+ "name" : "a",
+ "access" : 16,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(IBI)V"
+ }, {
+ "method" : "__s_163",
+ "owner" : "cm",
+ "name" : "s",
+ "access" : 16,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIZI)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Script",
+ "name" : "cs",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "intArgumentCount",
+ "owner" : "cs",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -591471643
+ }, {
+ "field" : "intOperands",
+ "owner" : "cs",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "localIntCount",
+ "owner" : "cs",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1628931263
+ }, {
+ "field" : "localStringCount",
+ "owner" : "cs",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -255128747
+ }, {
+ "field" : "opcodes",
+ "owner" : "cs",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "stringArgumentCount",
+ "owner" : "cs",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1575135525
+ }, {
+ "field" : "stringOperands",
+ "owner" : "cs",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "switches",
+ "owner" : "cs",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "[Lgs;"
+ } ],
+ "methods" : [ {
+ "method" : "__h_164",
+ "owner" : "cs",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(IB)[Lgs;"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "PacketWriter",
+ "name" : "ck",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "buffer",
+ "owner" : "ck",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lgx;"
+ }, {
+ "field" : "isaacCipher",
+ "owner" : "ck",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "Lgb;"
+ }, {
+ "field" : "packetBuffer",
+ "owner" : "ck",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Lge;"
+ }, {
+ "field" : "packetBufferNodes",
+ "owner" : "ck",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lhj;"
+ }, {
+ "field" : "serverPacket0",
+ "owner" : "ck",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "serverPacket0Length",
+ "owner" : "ck",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 233463175
+ }, {
+ "field" : "socket0",
+ "owner" : "ck",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lfq;"
+ }, {
+ "field" : "__q",
+ "owner" : "ck",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__e",
+ "owner" : "ck",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__r",
+ "owner" : "ck",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__t",
+ "owner" : "ck",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__b",
+ "owner" : "ck",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1632797297
+ }, {
+ "field" : "__g",
+ "owner" : "ck",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1498910999
+ }, {
+ "field" : "__n",
+ "owner" : "ck",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1340854521
+ } ],
+ "methods" : [ {
+ "method" : "close",
+ "owner" : "ck",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "getSocket",
+ "owner" : "ck",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)Lfq;"
+ }, {
+ "method" : "removeSocket",
+ "owner" : "ck",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "setSocket",
+ "owner" : "ck",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ "socket" ],
+ "descriptor" : "(Lfq;I)V"
+ }, {
+ "method" : "__a_165",
+ "owner" : "ck",
+ "name" : "a",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "__s_166",
+ "owner" : "ck",
+ "name" : "s",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "__g_167",
+ "owner" : "ck",
+ "name" : "g",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lfa;I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "PcmStreamMixer",
+ "name" : "cn",
+ "super" : "do",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "subStreams",
+ "owner" : "cn",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lhv;"
+ }, {
+ "field" : "__s",
+ "owner" : "cn",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lhv;"
+ }, {
+ "field" : "__g",
+ "owner" : "cn",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__x",
+ "owner" : "cn",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ {
+ "method" : "addSubStream",
+ "owner" : "cn",
+ "name" : "a",
+ "access" : 49,
+ "parameters" : [ "subStream" ],
+ "descriptor" : "(Ldo;)V"
+ }, {
+ "method" : "firstSubStream",
+ "owner" : "cn",
+ "name" : "f",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "()Ldo;"
+ }, {
+ "method" : "nextSubStream",
+ "owner" : "cn",
+ "name" : "p",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "()Ldo;"
+ }, {
+ "method" : "removeSubStream",
+ "owner" : "cn",
+ "name" : "s",
+ "access" : 49,
+ "parameters" : [ "subStream" ],
+ "descriptor" : "(Ldo;)V"
+ }, {
+ "method" : "skipSubStreams",
+ "owner" : "cn",
+ "name" : "e",
+ "access" : 0,
+ "parameters" : [ "length" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "updateSubStreams",
+ "owner" : "cn",
+ "name" : "b",
+ "access" : 0,
+ "parameters" : [ "buffer", "start", "end" ],
+ "descriptor" : "([III)V"
+ }, {
+ "method" : "__g_168",
+ "owner" : "cn",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__x_169",
+ "owner" : "cn",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lhy;Ldl;)V"
+ }, {
+ "method" : "__h_170",
+ "owner" : "cn",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ldl;)V"
+ }, {
+ "method" : "__m_171",
+ "owner" : "cn",
+ "name" : "m",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ }, {
+ "method" : "__q_172",
+ "owner" : "cn",
+ "name" : "q",
+ "access" : 49,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "([III)V"
+ }, {
+ "method" : "__n_173",
+ "owner" : "cn",
+ "name" : "n",
+ "access" : 49,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "SoundEffect",
+ "name" : "cu",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "end",
+ "owner" : "cu",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "instruments",
+ "owner" : "cu",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[Ldc;"
+ }, {
+ "field" : "start",
+ "owner" : "cu",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ {
+ "method" : "mix",
+ "owner" : "cu",
+ "name" : "x",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "()[B"
+ }, {
+ "method" : "toRawSound",
+ "owner" : "cu",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Lce;"
+ }, {
+ "method" : "__g_174",
+ "owner" : "cu",
+ "name" : "g",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Lgx;)V"
+ } ]
+}, {
+ "class" : "MusicSample",
+ "name" : "ci",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "end",
+ "owner" : "ci",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "sampleCount",
+ "owner" : "ci",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "sampleRate",
+ "owner" : "ci",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "samples",
+ "owner" : "ci",
+ "name" : "ah",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "start",
+ "owner" : "ci",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__f",
+ "owner" : "ci",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__w",
+ "owner" : "ci",
+ "name" : "w",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__a",
+ "owner" : "ci",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "[[B"
+ }, {
+ "field" : "__k",
+ "owner" : "ci",
+ "name" : "k",
+ "access" : 0,
+ "descriptor" : "[F"
+ }, {
+ "field" : "__an",
+ "owner" : "ci",
+ "name" : "an",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__aw",
+ "owner" : "ci",
+ "name" : "aw",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__d",
+ "owner" : "ci",
+ "name" : "d",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__v",
+ "owner" : "ci",
+ "name" : "v",
+ "access" : 0,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ {
+ "method" : "read",
+ "owner" : "ci",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "([B)V"
+ }, {
+ "method" : "toRawSound",
+ "owner" : "ci",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "([I)Lce;"
+ }, {
+ "method" : "__p_175",
+ "owner" : "ci",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)[F"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "([B)V"
+ } ]
+}, {
+ "class" : "RawSound",
+ "name" : "ce",
+ "super" : "dj",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "end",
+ "owner" : "ce",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "sampleRate",
+ "owner" : "ce",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "I"
+ }, {
+ "field" : "samples",
+ "owner" : "ce",
+ "name" : "s",
+ "access" : 1,
+ "descriptor" : "[B"
+ }, {
+ "field" : "start",
+ "owner" : "ce",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "I"
+ }, {
+ "field" : "__h",
+ "owner" : "ce",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "resample",
+ "owner" : "ce",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "decimator" ],
+ "descriptor" : "(Ldn;)Lce;"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(I[BII)V"
+ }, {
+ "access" : 0,
+ "descriptor" : "(I[BIIZ)V"
+ } ]
+}, {
+ "class" : "PcmPlayer",
+ "name" : "cz",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "capacity",
+ "owner" : "cz",
+ "name" : "y",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -810290507
+ }, {
+ "field" : "frequency",
+ "owner" : "cz",
+ "name" : "k",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1959673417
+ }, {
+ "field" : "nextPosition",
+ "owner" : "cz",
+ "name" : "c",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1366297195
+ }, {
+ "field" : "retryTimeMs",
+ "owner" : "cz",
+ "name" : "d",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : 5497426224088795273
+ }, {
+ "field" : "samples",
+ "owner" : "cz",
+ "name" : "t",
+ "access" : 4,
+ "descriptor" : "[I"
+ }, {
+ "field" : "stream0",
+ "owner" : "cz",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "Ldo;"
+ }, {
+ "field" : "timeMs",
+ "owner" : "cz",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : 5440291444380244465
+ }, {
+ "field" : "__z",
+ "owner" : "cz",
+ "name" : "z",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__an",
+ "owner" : "cz",
+ "name" : "an",
+ "access" : 0,
+ "descriptor" : "[Ldo;"
+ }, {
+ "field" : "__aw",
+ "owner" : "cz",
+ "name" : "aw",
+ "access" : 0,
+ "descriptor" : "[Ldo;"
+ }, {
+ "field" : "__ah",
+ "owner" : "cz",
+ "name" : "ah",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1816555939
+ }, {
+ "field" : "__i",
+ "owner" : "cz",
+ "name" : "i",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1869318031
+ }, {
+ "field" : "__o",
+ "owner" : "cz",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1156813405
+ }, {
+ "field" : "__v",
+ "owner" : "cz",
+ "name" : "v",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1555639263
+ }, {
+ "field" : "__w",
+ "owner" : "cz",
+ "name" : "w",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1059470161
+ }, {
+ "field" : "__j",
+ "owner" : "cz",
+ "name" : "j",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : 2364871167386266887
+ } ],
+ "methods" : [ {
+ "method" : "close",
+ "owner" : "cz",
+ "name" : "h",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "discard",
+ "owner" : "cz",
+ "name" : "f",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "fill",
+ "owner" : "cz",
+ "name" : "as",
+ "access" : 16,
+ "parameters" : [ "buffer", "length" ],
+ "descriptor" : "([II)V"
+ }, {
+ "method" : "init",
+ "owner" : "cz",
+ "name" : "a",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "open",
+ "owner" : "cz",
+ "name" : "s",
+ "access" : 4,
+ "parameters" : [ "bufferSize" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "position",
+ "owner" : "cz",
+ "name" : "g",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "run",
+ "owner" : "cz",
+ "name" : "at",
+ "access" : 49,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "setStream",
+ "owner" : "cz",
+ "name" : "an",
+ "access" : 49,
+ "parameters" : [ "stream" ],
+ "descriptor" : "(Ldo;B)V"
+ }, {
+ "method" : "shutdown",
+ "owner" : "cz",
+ "name" : "au",
+ "access" : 49,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "skip",
+ "owner" : "cz",
+ "name" : "aj",
+ "access" : 16,
+ "parameters" : [ "length" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "tryDiscard",
+ "owner" : "cz",
+ "name" : "av",
+ "access" : 49,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "write",
+ "owner" : "cz",
+ "name" : "x",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__ae_176",
+ "owner" : "cz",
+ "name" : "ae",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__ai_177",
+ "owner" : "cz",
+ "name" : "ai",
+ "access" : 16,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ldo;II)V"
+ } ],
+ "constructors" : [ {
+ "access" : 4,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "SoundSystem",
+ "name" : "dz",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.lang.Runnable" ],
+ "fields" : [ {
+ "field" : "players",
+ "owner" : "dz",
+ "name" : "a",
+ "access" : 64,
+ "descriptor" : "[Lcz;"
+ } ],
+ "methods" : [ {
+ "method" : "__run_178",
+ "owner" : "dz",
+ "name" : "run",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "PcmStreamMixerListener",
+ "name" : "dl",
+ "super" : "hy",
+ "access" : 1057,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "dl",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ {
+ "method" : "remove2",
+ "owner" : "dl",
+ "name" : "a",
+ "access" : 1024,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "update",
+ "owner" : "dl",
+ "name" : "s",
+ "access" : 1024,
+ "parameters" : [ "mixer" ],
+ "descriptor" : "(Lcn;)I"
+ } ],
+ "constructors" : [ ]
+}, {
+ "class" : "RawPcmStream",
+ "name" : "dt",
+ "super" : "do",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "end",
+ "owner" : "dt",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "start",
+ "owner" : "dt",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__n",
+ "owner" : "dt",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__a",
+ "owner" : "dt",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__e",
+ "owner" : "dt",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__f",
+ "owner" : "dt",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__g",
+ "owner" : "dt",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__h",
+ "owner" : "dt",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__l",
+ "owner" : "dt",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__m",
+ "owner" : "dt",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__p",
+ "owner" : "dt",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__r",
+ "owner" : "dt",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__s",
+ "owner" : "dt",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__t",
+ "owner" : "dt",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__x",
+ "owner" : "dt",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ {
+ "method" : "__ap_179",
+ "owner" : "dt",
+ "name" : "ap",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ }, {
+ "method" : "__h_180",
+ "owner" : "dt",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__b_181",
+ "owner" : "dt",
+ "name" : "b",
+ "access" : 33,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__e_182",
+ "owner" : "dt",
+ "name" : "e",
+ "access" : 33,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__r_183",
+ "owner" : "dt",
+ "name" : "r",
+ "access" : 32,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__t_184",
+ "owner" : "dt",
+ "name" : "t",
+ "access" : 32,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__l_185",
+ "owner" : "dt",
+ "name" : "l",
+ "access" : 33,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ }, {
+ "method" : "__o_186",
+ "owner" : "dt",
+ "name" : "o",
+ "access" : 33,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ }, {
+ "method" : "__u_187",
+ "owner" : "dt",
+ "name" : "u",
+ "access" : 33,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__y_188",
+ "owner" : "dt",
+ "name" : "y",
+ "access" : 33,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Z)V"
+ }, {
+ "method" : "__k_189",
+ "owner" : "dt",
+ "name" : "k",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__v_190",
+ "owner" : "dt",
+ "name" : "v",
+ "access" : 33,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__c_191",
+ "owner" : "dt",
+ "name" : "c",
+ "access" : 33,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__aa_192",
+ "owner" : "dt",
+ "name" : "aa",
+ "access" : 33,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__ab_193",
+ "owner" : "dt",
+ "name" : "ab",
+ "access" : 33,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__ah_194",
+ "owner" : "dt",
+ "name" : "ah",
+ "access" : 33,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ }, {
+ "method" : "__aw_195",
+ "owner" : "dt",
+ "name" : "aw",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Z"
+ }, {
+ "method" : "__an_196",
+ "owner" : "dt",
+ "name" : "an",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Z"
+ }, {
+ "method" : "__f_197",
+ "owner" : "dt",
+ "name" : "f",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "()Ldo;"
+ }, {
+ "method" : "__p_198",
+ "owner" : "dt",
+ "name" : "p",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "()Ldo;"
+ }, {
+ "method" : "__m_199",
+ "owner" : "dt",
+ "name" : "m",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ }, {
+ "method" : "__q_200",
+ "owner" : "dt",
+ "name" : "q",
+ "access" : 33,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "([III)V"
+ }, {
+ "method" : "__n_201",
+ "owner" : "dt",
+ "name" : "n",
+ "access" : 33,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__at_202",
+ "owner" : "dt",
+ "name" : "at",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4" ],
+ "descriptor" : "([IIIII)I"
+ }, {
+ "method" : "__al_203",
+ "owner" : "dt",
+ "name" : "al",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4" ],
+ "descriptor" : "([IIIII)I"
+ }, {
+ "method" : "__ao_204",
+ "owner" : "dt",
+ "name" : "ao",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Lce;II)V"
+ }, {
+ "access" : 0,
+ "descriptor" : "(Lce;III)V"
+ } ]
+}, {
+ "class" : "AudioFilter",
+ "name" : "dr",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "dr",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__h",
+ "owner" : "dr",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__g",
+ "owner" : "dr",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "[[[I"
+ }, {
+ "field" : "__x",
+ "owner" : "dr",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[[[I"
+ } ],
+ "methods" : [ {
+ "method" : "__a_205",
+ "owner" : "dr",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIF)F"
+ }, {
+ "method" : "__g_206",
+ "owner" : "dr",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIF)F"
+ }, {
+ "method" : "__x_207",
+ "owner" : "dr",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(IF)I"
+ }, {
+ "method" : "__h_208",
+ "owner" : "dr",
+ "name" : "h",
+ "access" : 16,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lgx;Lcl;)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "PcmStream",
+ "name" : "do",
+ "super" : "hy",
+ "access" : 1057,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "active",
+ "owner" : "do",
+ "name" : "k",
+ "access" : 64,
+ "descriptor" : "Z"
+ }, {
+ "field" : "after",
+ "owner" : "do",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "Ldo;"
+ }, {
+ "field" : "sound",
+ "owner" : "do",
+ "name" : "y",
+ "access" : 0,
+ "descriptor" : "Ldj;"
+ }, {
+ "field" : "__u",
+ "owner" : "do",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ {
+ "method" : "fill",
+ "owner" : "do",
+ "name" : "q",
+ "access" : 1028,
+ "parameters" : [ "buffer", "start", "end" ],
+ "descriptor" : "([III)V"
+ }, {
+ "method" : "firstSubStream",
+ "owner" : "do",
+ "name" : "f",
+ "access" : 1028,
+ "parameters" : [ ],
+ "descriptor" : "()Ldo;"
+ }, {
+ "method" : "nextSubStream",
+ "owner" : "do",
+ "name" : "p",
+ "access" : 1028,
+ "parameters" : [ ],
+ "descriptor" : "()Ldo;"
+ }, {
+ "method" : "skip",
+ "owner" : "do",
+ "name" : "n",
+ "access" : 1028,
+ "parameters" : [ "length" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "update",
+ "owner" : "do",
+ "name" : "fn",
+ "access" : 16,
+ "parameters" : [ "buffer", "start", "end" ],
+ "descriptor" : "([III)V"
+ }, {
+ "method" : "__ap_209",
+ "owner" : "do",
+ "name" : "ap",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ }, {
+ "method" : "__m_210",
+ "owner" : "do",
+ "name" : "m",
+ "access" : 1028,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ } ],
+ "constructors" : [ {
+ "access" : 4,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Instrument",
+ "name" : "dc",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "delayDecay",
+ "owner" : "dc",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "delayTime",
+ "owner" : "dc",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "duration",
+ "owner" : "dc",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "filter",
+ "owner" : "dc",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "Ldr;"
+ }, {
+ "field" : "offset",
+ "owner" : "dc",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "oscillatorDelays",
+ "owner" : "dc",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "oscillatorPitch",
+ "owner" : "dc",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "oscillatorVolume",
+ "owner" : "dc",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__a",
+ "owner" : "dc",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lcl;"
+ }, {
+ "field" : "__f",
+ "owner" : "dc",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Lcl;"
+ }, {
+ "field" : "__g",
+ "owner" : "dc",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Lcl;"
+ }, {
+ "field" : "__h",
+ "owner" : "dc",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "Lcl;"
+ }, {
+ "field" : "__l",
+ "owner" : "dc",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "Lcl;"
+ }, {
+ "field" : "__m",
+ "owner" : "dc",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "Lcl;"
+ }, {
+ "field" : "__p",
+ "owner" : "dc",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Lcl;"
+ }, {
+ "field" : "__s",
+ "owner" : "dc",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lcl;"
+ }, {
+ "field" : "__x",
+ "owner" : "dc",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lcl;"
+ } ],
+ "methods" : [ {
+ "method" : "decode",
+ "owner" : "dc",
+ "name" : "g",
+ "access" : 16,
+ "parameters" : [ "buffer" ],
+ "descriptor" : "(Lgx;)V"
+ }, {
+ "method" : "evaluateWave",
+ "owner" : "dc",
+ "name" : "s",
+ "access" : 16,
+ "descriptor" : "(III)I"
+ }, {
+ "method" : "synthesize",
+ "owner" : "dc",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "(II)[I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "BufferedFile",
+ "name" : "dx",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "accessFile",
+ "owner" : "dx",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lda;"
+ }, {
+ "field" : "capacity",
+ "owner" : "dx",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : 7625560096165464275
+ }, {
+ "field" : "readBuffer",
+ "owner" : "dx",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "writeBuffer",
+ "owner" : "dx",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__p",
+ "owner" : "dx",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1377119707
+ }, {
+ "field" : "__x",
+ "owner" : "dx",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1529466497
+ }, {
+ "field" : "__f",
+ "owner" : "dx",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : 4118804273345043159
+ }, {
+ "field" : "__g",
+ "owner" : "dx",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : 3783110478113031363
+ }, {
+ "field" : "__m",
+ "owner" : "dx",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : -7495971393692368667
+ }, {
+ "field" : "__n",
+ "owner" : "dx",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : -2543243651016552385
+ }, {
+ "field" : "__q",
+ "owner" : "dx",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : 8900813318100807425
+ } ],
+ "methods" : [ {
+ "method" : "close",
+ "owner" : "dx",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "flush",
+ "owner" : "dx",
+ "name" : "m",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "length",
+ "owner" : "dx",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(S)J"
+ }, {
+ "method" : "load",
+ "owner" : "dx",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "read",
+ "owner" : "dx",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "dst", "dstIndex", "length" ],
+ "descriptor" : "([BIIB)V"
+ }, {
+ "method" : "readFill",
+ "owner" : "dx",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ "dst" ],
+ "descriptor" : "([BI)V"
+ }, {
+ "method" : "seek",
+ "owner" : "dx",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "index" ],
+ "descriptor" : "(J)V"
+ }, {
+ "method" : "write",
+ "owner" : "dx",
+ "name" : "p",
+ "access" : 1,
+ "parameters" : [ "src", "srcIndex", "length" ],
+ "descriptor" : "([BIIB)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Lda;II)V"
+ } ]
+}, {
+ "class" : "AccessFile",
+ "name" : "da",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "capacity",
+ "owner" : "da",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : 5301123448086758809
+ }, {
+ "field" : "file",
+ "owner" : "da",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljava/io/RandomAccessFile;"
+ }, {
+ "field" : "index",
+ "owner" : "da",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : 8108136151641546007
+ } ],
+ "methods" : [ {
+ "method" : "close",
+ "owner" : "da",
+ "name" : "g",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(S)V"
+ }, {
+ "method" : "closeSync",
+ "owner" : "da",
+ "name" : "x",
+ "access" : 17,
+ "parameters" : [ "sync" ],
+ "descriptor" : "(ZI)V"
+ }, {
+ "method" : "length",
+ "owner" : "da",
+ "name" : "h",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(I)J"
+ }, {
+ "method" : "read",
+ "owner" : "da",
+ "name" : "f",
+ "access" : 17,
+ "parameters" : [ "dst", "dstIndex", "length" ],
+ "descriptor" : "([BIII)I"
+ }, {
+ "method" : "seek",
+ "owner" : "da",
+ "name" : "a",
+ "access" : 16,
+ "parameters" : [ "index" ],
+ "descriptor" : "(J)V"
+ }, {
+ "method" : "write",
+ "owner" : "da",
+ "name" : "s",
+ "access" : 17,
+ "parameters" : [ "src", "srcIndex", "length" ],
+ "descriptor" : "([BIIB)V"
+ }, {
+ "method" : "__finalize_211",
+ "owner" : "da",
+ "name" : "finalize",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Ljava/io/File;Ljava/lang/String;J)V"
+ } ]
+}, {
+ "class" : "TextureProvider",
+ "name" : "du",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "ew" ],
+ "fields" : [ {
+ "field" : "brightness0",
+ "owner" : "du",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "D"
+ }, {
+ "field" : "capacity",
+ "owner" : "du",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1519057499
+ }, {
+ "field" : "deque",
+ "owner" : "du",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lhv;"
+ }, {
+ "field" : "indexCache",
+ "owner" : "du",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "remaining",
+ "owner" : "du",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2014379947
+ }, {
+ "field" : "textureSize",
+ "owner" : "du",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 956040443
+ }, {
+ "field" : "textures",
+ "owner" : "du",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "[Ldb;"
+ } ],
+ "methods" : [ {
+ "method" : "animate",
+ "owner" : "du",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ "n" ],
+ "descriptor" : "(IB)V"
+ }, {
+ "method" : "clear",
+ "owner" : "du",
+ "name" : "p",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "isLowDetail",
+ "owner" : "du",
+ "name" : "f",
+ "access" : 1,
+ "descriptor" : "(II)Z"
+ }, {
+ "method" : "load",
+ "owner" : "du",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "(II)[I"
+ }, {
+ "method" : "setBrightness",
+ "owner" : "du",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "brightness" ],
+ "descriptor" : "(D)V"
+ }, {
+ "method" : "__a_212",
+ "owner" : "du",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__x_213",
+ "owner" : "du",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)I"
+ }, {
+ "method" : "__h_214",
+ "owner" : "du",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(IB)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Liz;Liz;IDI)V"
+ } ]
+}, {
+ "class" : "ModelData",
+ "name" : "dk",
+ "super" : "em",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "faceAlphas",
+ "owner" : "dk",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "faceColors",
+ "owner" : "dk",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "faceCount",
+ "owner" : "dk",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "faceLabelsAlpha",
+ "owner" : "dk",
+ "name" : "c",
+ "access" : 0,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "faceNormals",
+ "owner" : "dk",
+ "name" : "j",
+ "access" : 0,
+ "descriptor" : "[Leo;"
+ }, {
+ "field" : "faceTextures",
+ "owner" : "dk",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "indices1",
+ "owner" : "dk",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "indices2",
+ "owner" : "dk",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "indices3",
+ "owner" : "dk",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "isBoundsCalculated",
+ "owner" : "dk",
+ "name" : "aa",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "vertexLabels",
+ "owner" : "dk",
+ "name" : "i",
+ "access" : 0,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "verticesCount",
+ "owner" : "dk",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "verticesX",
+ "owner" : "dk",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "verticesY",
+ "owner" : "dk",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "verticesZ",
+ "owner" : "dk",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__l",
+ "owner" : "dk",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "B"
+ }, {
+ "field" : "__b",
+ "owner" : "dk",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__e",
+ "owner" : "dk",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__q",
+ "owner" : "dk",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__u",
+ "owner" : "dk",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__ag",
+ "owner" : "dk",
+ "name" : "ag",
+ "access" : 0,
+ "descriptor" : "[Ldp;"
+ }, {
+ "field" : "__z",
+ "owner" : "dk",
+ "name" : "z",
+ "access" : 0,
+ "descriptor" : "[Ldp;"
+ }, {
+ "field" : "__ab",
+ "owner" : "dk",
+ "name" : "ab",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__ah",
+ "owner" : "dk",
+ "name" : "ah",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__an",
+ "owner" : "dk",
+ "name" : "an",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__at",
+ "owner" : "dk",
+ "name" : "at",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__aw",
+ "owner" : "dk",
+ "name" : "aw",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__o",
+ "owner" : "dk",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__d",
+ "owner" : "dk",
+ "name" : "d",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__w",
+ "owner" : "dk",
+ "name" : "w",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__k",
+ "owner" : "dk",
+ "name" : "k",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "__v",
+ "owner" : "dk",
+ "name" : "v",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "__y",
+ "owner" : "dk",
+ "name" : "y",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "__af",
+ "owner" : "dk",
+ "name" : "af",
+ "access" : 1,
+ "descriptor" : "S"
+ }, {
+ "field" : "__ay",
+ "owner" : "dk",
+ "name" : "ay",
+ "access" : 1,
+ "descriptor" : "S"
+ } ],
+ "methods" : [ {
+ "method" : "invalidate",
+ "owner" : "dk",
+ "name" : "k",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "recolor",
+ "owner" : "dk",
+ "name" : "t",
+ "access" : 1,
+ "parameters" : [ "from", "to" ],
+ "descriptor" : "(SS)V"
+ }, {
+ "method" : "retexture",
+ "owner" : "dk",
+ "name" : "l",
+ "access" : 1,
+ "parameters" : [ "from", "to" ],
+ "descriptor" : "(SS)V"
+ }, {
+ "method" : "toModel",
+ "owner" : "dk",
+ "name" : "aa",
+ "access" : 17,
+ "parameters" : [ "a", "b", "c", "d", "e" ],
+ "descriptor" : "(IIIII)Ldv;"
+ }, {
+ "method" : "__s_215",
+ "owner" : "dk",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "([B)V"
+ }, {
+ "method" : "__g_216",
+ "owner" : "dk",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "([B)V"
+ }, {
+ "method" : "__x_217",
+ "owner" : "dk",
+ "name" : "x",
+ "access" : 16,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ldk;I)I"
+ }, {
+ "method" : "__h_218",
+ "owner" : "dk",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Ldk;"
+ }, {
+ "method" : "__f_219",
+ "owner" : "dk",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5" ],
+ "descriptor" : "([[IIIIZI)Ldk;"
+ }, {
+ "method" : "__p_220",
+ "owner" : "dk",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__m_221",
+ "owner" : "dk",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__b_222",
+ "owner" : "dk",
+ "name" : "b",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__n_223",
+ "owner" : "dk",
+ "name" : "n",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__e_224",
+ "owner" : "dk",
+ "name" : "e",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__r_225",
+ "owner" : "dk",
+ "name" : "r",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__o_226",
+ "owner" : "dk",
+ "name" : "o",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__u_227",
+ "owner" : "dk",
+ "name" : "u",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__y_228",
+ "owner" : "dk",
+ "name" : "y",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__v_229",
+ "owner" : "dk",
+ "name" : "v",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ }, {
+ "access" : 0,
+ "descriptor" : "([B)V"
+ }, {
+ "access" : 1,
+ "descriptor" : "([Ldk;I)V"
+ }, {
+ "access" : 1,
+ "descriptor" : "(Ldk;ZZZZ)V"
+ } ]
+}, {
+ "class" : "TileModel",
+ "name" : "dh",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "isFlat",
+ "owner" : "dh",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "overlayRgb",
+ "owner" : "dh",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "rotation",
+ "owner" : "dh",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "shape",
+ "owner" : "dh",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "underlayRgb",
+ "owner" : "dh",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__a",
+ "owner" : "dh",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__b",
+ "owner" : "dh",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__f",
+ "owner" : "dh",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__g",
+ "owner" : "dh",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__h",
+ "owner" : "dh",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__m",
+ "owner" : "dh",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__p",
+ "owner" : "dh",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__q",
+ "owner" : "dh",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__s",
+ "owner" : "dh",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__x",
+ "owner" : "dh",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[I"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(IIIIIIIIIIIIIIIIIII)V"
+ } ]
+}, {
+ "class" : "Texture",
+ "name" : "db",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "animationDirection",
+ "owner" : "db",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "animationSpeed",
+ "owner" : "db",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "int1",
+ "owner" : "db",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "isLoaded",
+ "owner" : "db",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "pixels",
+ "owner" : "db",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "records",
+ "owner" : "db",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__f",
+ "owner" : "db",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__b",
+ "owner" : "db",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__m",
+ "owner" : "db",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__q",
+ "owner" : "db",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "[I"
+ } ],
+ "methods" : [ {
+ "method" : "animate",
+ "owner" : "db",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ "n" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "reset",
+ "owner" : "db",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "()V"
+ }, {
+ "method" : "__a_230",
+ "owner" : "db",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(DILiz;)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Lgx;)V"
+ } ]
+}, {
+ "class" : "Tile",
+ "name" : "de",
+ "super" : "hy",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "boundaryObject",
+ "owner" : "de",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Lep;"
+ }, {
+ "field" : "drawGameObjectEdges",
+ "owner" : "de",
+ "name" : "k",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -200015443
+ }, {
+ "field" : "drawGameObjects",
+ "owner" : "de",
+ "name" : "y",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "drawPrimary",
+ "owner" : "de",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "drawSecondary",
+ "owner" : "de",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "floorDecoration",
+ "owner" : "de",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "Ldw;"
+ }, {
+ "field" : "gameObjectEdgeMasks",
+ "owner" : "de",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "gameObjects",
+ "owner" : "de",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "[Ler;"
+ }, {
+ "field" : "gameObjectsCount",
+ "owner" : "de",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1960775337
+ }, {
+ "field" : "gameObjectsEdgeMask",
+ "owner" : "de",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2089434541
+ }, {
+ "field" : "groundItemPile",
+ "owner" : "de",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "Ldy;"
+ }, {
+ "field" : "linkedBelowTile",
+ "owner" : "de",
+ "name" : "i",
+ "access" : 0,
+ "descriptor" : "Lde;"
+ }, {
+ "field" : "minPlane",
+ "owner" : "de",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -799286185
+ }, {
+ "field" : "model",
+ "owner" : "de",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Ldh;"
+ }, {
+ "field" : "originalPlane",
+ "owner" : "de",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -433608359
+ }, {
+ "field" : "paint",
+ "owner" : "de",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "Leb;"
+ }, {
+ "field" : "plane",
+ "owner" : "de",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1819906267
+ }, {
+ "field" : "wallDecoration",
+ "owner" : "de",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "Lef;"
+ }, {
+ "field" : "x",
+ "owner" : "de",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1458265213
+ }, {
+ "field" : "y",
+ "owner" : "de",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -270087367
+ }, {
+ "field" : "__d",
+ "owner" : "de",
+ "name" : "d",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1115844587
+ }, {
+ "field" : "__v",
+ "owner" : "de",
+ "name" : "v",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1274390359
+ }, {
+ "field" : "__w",
+ "owner" : "de",
+ "name" : "w",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 2039042225
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(III)V"
+ } ]
+}, {
+ "class" : "Model",
+ "name" : "dv",
+ "super" : "em",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "bottomY",
+ "owner" : "dv",
+ "name" : "ay",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "boundsType",
+ "owner" : "dv",
+ "name" : "af",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "diameter",
+ "owner" : "dv",
+ "name" : "ab",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "faceAlphas",
+ "owner" : "dv",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "faceColors1",
+ "owner" : "dv",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "faceColors2",
+ "owner" : "dv",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "faceColors3",
+ "owner" : "dv",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "faceLabelsAlpha",
+ "owner" : "dv",
+ "name" : "z",
+ "access" : 0,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "faceTextures",
+ "owner" : "dv",
+ "name" : "k",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "indices1",
+ "owner" : "dv",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "indices2",
+ "owner" : "dv",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "indices3",
+ "owner" : "dv",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "indicesCount",
+ "owner" : "dv",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "isSingleTile",
+ "owner" : "dv",
+ "name" : "ag",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "radius",
+ "owner" : "dv",
+ "name" : "ah",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "vertexLabels",
+ "owner" : "dv",
+ "name" : "j",
+ "access" : 0,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "verticesCount",
+ "owner" : "dv",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "verticesX",
+ "owner" : "dv",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "verticesY",
+ "owner" : "dv",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "verticesZ",
+ "owner" : "dv",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "xMid",
+ "owner" : "dv",
+ "name" : "aw",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "xMidOffset",
+ "owner" : "dv",
+ "name" : "ae",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "xzRadius",
+ "owner" : "dv",
+ "name" : "aa",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "yMid",
+ "owner" : "dv",
+ "name" : "an",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "yMidOffset",
+ "owner" : "dv",
+ "name" : "av",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "zMid",
+ "owner" : "dv",
+ "name" : "at",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "zMidOffset",
+ "owner" : "dv",
+ "name" : "au",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__v",
+ "owner" : "dv",
+ "name" : "v",
+ "access" : 0,
+ "descriptor" : "B"
+ }, {
+ "field" : "__o",
+ "owner" : "dv",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__y",
+ "owner" : "dv",
+ "name" : "y",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__d",
+ "owner" : "dv",
+ "name" : "d",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__c",
+ "owner" : "dv",
+ "name" : "c",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__i",
+ "owner" : "dv",
+ "name" : "i",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__w",
+ "owner" : "dv",
+ "name" : "w",
+ "access" : 0,
+ "descriptor" : "[I"
+ } ],
+ "methods" : [ {
+ "method" : "animate",
+ "owner" : "dv",
+ "name" : "n",
+ "access" : 1,
+ "parameters" : [ "frames", "frame" ],
+ "descriptor" : "(Lei;I)V"
+ }, {
+ "method" : "animate2",
+ "owner" : "dv",
+ "name" : "e",
+ "access" : 1,
+ "descriptor" : "(Lei;ILei;I[I)V"
+ }, {
+ "method" : "calculateBoundingBox",
+ "owner" : "dv",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ "yaw" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "calculateBoundsCylinder",
+ "owner" : "dv",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "copy0",
+ "owner" : "dv",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "(ZLdv;[B)Ldv;"
+ }, {
+ "method" : "draw",
+ "owner" : "dv",
+ "name" : "cb",
+ "access" : 0,
+ "parameters" : [ "yaw", "cameraPitchSine", "cameraPitchCosine", "cameraYawSine", "cameraYawCosine", "x", "y", "z", "tag" ],
+ "descriptor" : "(IIIIIIIIJ)V"
+ }, {
+ "method" : "draw0",
+ "owner" : "dv",
+ "name" : "aa",
+ "access" : 16,
+ "descriptor" : "(ZZZJ)V"
+ }, {
+ "method" : "offsetBy",
+ "owner" : "dv",
+ "name" : "y",
+ "access" : 1,
+ "parameters" : [ "x", "y", "z" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "resetBounds",
+ "owner" : "dv",
+ "name" : "b",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "rotateY180",
+ "owner" : "dv",
+ "name" : "l",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "rotateY270Ccw",
+ "owner" : "dv",
+ "name" : "o",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "rotateY90Ccw",
+ "owner" : "dv",
+ "name" : "t",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "rotateZ",
+ "owner" : "dv",
+ "name" : "u",
+ "access" : 1,
+ "parameters" : [ "pitch" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "scale",
+ "owner" : "dv",
+ "name" : "k",
+ "access" : 1,
+ "parameters" : [ "x", "y", "z" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "toSharedSequenceModel",
+ "owner" : "dv",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "b" ],
+ "descriptor" : "(Z)Ldv;"
+ }, {
+ "method" : "toSharedSpotAnimationModel",
+ "owner" : "dv",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "b" ],
+ "descriptor" : "(Z)Ldv;"
+ }, {
+ "method" : "transform",
+ "owner" : "dv",
+ "name" : "r",
+ "access" : 0,
+ "parameters" : [ "type", "labels", "tx", "ty", "tz" ],
+ "descriptor" : "(I[IIII)V"
+ }, {
+ "method" : "__a_231",
+ "owner" : "dv",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5" ],
+ "descriptor" : "([[IIIIZI)Ldv;"
+ }, {
+ "method" : "__p_232",
+ "owner" : "dv",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__m_233",
+ "owner" : "dv",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ }, {
+ "method" : "__v_234",
+ "owner" : "dv",
+ "name" : "v",
+ "access" : 17,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5", "arg6" ],
+ "descriptor" : "(IIIIIII)V"
+ }, {
+ "method" : "__c_235",
+ "owner" : "dv",
+ "name" : "c",
+ "access" : 17,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5", "arg6", "arg7" ],
+ "descriptor" : "(IIIIIIII)V"
+ }, {
+ "method" : "__ab_236",
+ "owner" : "dv",
+ "name" : "ab",
+ "access" : 16,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__ah_237",
+ "owner" : "dv",
+ "name" : "ah",
+ "access" : 16,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ }, {
+ "access" : 1,
+ "descriptor" : "([Ldv;I)V"
+ } ]
+}, {
+ "class" : "VertexNormal",
+ "name" : "dp",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "dp",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -487750023
+ }, {
+ "field" : "__g",
+ "owner" : "dp",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1669185731
+ }, {
+ "field" : "__s",
+ "owner" : "dp",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 409052541
+ }, {
+ "field" : "__x",
+ "owner" : "dp",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 384760089
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ }, {
+ "access" : 0,
+ "descriptor" : "(Ldp;)V"
+ } ]
+}, {
+ "class" : "Scene",
+ "name" : "en",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "minPlane",
+ "owner" : "en",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "planes",
+ "owner" : "en",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "tempGameObjects",
+ "owner" : "en",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "[Ler;"
+ }, {
+ "field" : "tempGameObjectsCount",
+ "owner" : "en",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "tileHeights",
+ "owner" : "en",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "[[[I"
+ }, {
+ "field" : "tiles",
+ "owner" : "en",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[[[Lde;"
+ }, {
+ "field" : "xSize",
+ "owner" : "en",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "ySize",
+ "owner" : "en",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__bi",
+ "owner" : "en",
+ "name" : "bi",
+ "access" : 0,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "__bp",
+ "owner" : "en",
+ "name" : "bp",
+ "access" : 0,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "__b",
+ "owner" : "en",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "[[[I"
+ } ],
+ "methods" : [ {
+ "method" : "addTile",
+ "owner" : "en",
+ "name" : "f",
+ "access" : 1,
+ "descriptor" : "(IIIIIIIIIIIIIIIIIIII)V"
+ }, {
+ "method" : "clear",
+ "owner" : "en",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "clearTempGameObjects",
+ "owner" : "en",
+ "name" : "l",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "draw",
+ "owner" : "en",
+ "name" : "ap",
+ "access" : 1,
+ "parameters" : [ "x", "y", "z", "pitch", "yaw", "plane" ],
+ "descriptor" : "(IIIIII)V"
+ }, {
+ "method" : "drawTile",
+ "owner" : "en",
+ "name" : "ak",
+ "access" : 0,
+ "parameters" : [ "tile", "b" ],
+ "descriptor" : "(Lde;Z)V"
+ }, {
+ "method" : "drawTileMinimap",
+ "owner" : "en",
+ "name" : "aq",
+ "access" : 1,
+ "parameters" : [ "pixels", "index", "width", "plane", "x", "y" ],
+ "descriptor" : "([IIIIII)V"
+ }, {
+ "method" : "getBoundaryObject",
+ "owner" : "en",
+ "name" : "ab",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y" ],
+ "descriptor" : "(III)Lep;"
+ }, {
+ "method" : "getFloorDecoration",
+ "owner" : "en",
+ "name" : "an",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y" ],
+ "descriptor" : "(III)Ldw;"
+ }, {
+ "method" : "getFloorDecorationTag",
+ "owner" : "en",
+ "name" : "au",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y" ],
+ "descriptor" : "(III)J"
+ }, {
+ "method" : "getObjectFlags",
+ "owner" : "en",
+ "name" : "aj",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y", "id" ],
+ "descriptor" : "(IIIJ)I"
+ }, {
+ "method" : "getWallDecoration",
+ "owner" : "en",
+ "name" : "ah",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y" ],
+ "descriptor" : "(III)Lef;"
+ }, {
+ "method" : "init",
+ "owner" : "en",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "minPlane" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "menuOpen",
+ "owner" : "en",
+ "name" : "ac",
+ "access" : 1,
+ "parameters" : [ "plane", "screenX", "screenY", "b" ],
+ "descriptor" : "(IIIZ)V"
+ }, {
+ "method" : "newBoundaryObject",
+ "owner" : "en",
+ "name" : "q",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y", "tileHeight", "entity1", "entity2", "orientationA", "orientationB", "tag", "flags" ],
+ "descriptor" : "(IIIILem;Lem;IIJI)V"
+ }, {
+ "method" : "newFloorDecoration",
+ "owner" : "en",
+ "name" : "p",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y", "tileHeight", "entity", "tag", "flags" ],
+ "descriptor" : "(IIIILem;JI)V"
+ }, {
+ "method" : "newGameObject",
+ "owner" : "en",
+ "name" : "t",
+ "access" : 0,
+ "parameters" : [ "plane", "startX", "startY", "sizeX", "sizeY", "centerX", "centerY", "height", "entity", "orientation", "isTemp", "tag", "flags" ],
+ "descriptor" : "(IIIIIIIILem;IZJI)Z"
+ }, {
+ "method" : "newGroundItemPile",
+ "owner" : "en",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y", "tileHeight", "first", "tag", "second", "third" ],
+ "descriptor" : "(IIIILem;JLem;Lem;)V"
+ }, {
+ "method" : "newWallDecoration",
+ "owner" : "en",
+ "name" : "b",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y", "tileHeight", "entity1", "entity2", "orientation", "int7", "xOffset", "yOffset", "tag", "flags" ],
+ "descriptor" : "(IIIILem;Lem;IIIIJI)V"
+ }, {
+ "method" : "occlude",
+ "owner" : "en",
+ "name" : "bd",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "removeBoundaryObject",
+ "owner" : "en",
+ "name" : "y",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "removeFloorDecoration",
+ "owner" : "en",
+ "name" : "c",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "removeGameObject",
+ "owner" : "en",
+ "name" : "o",
+ "access" : 0,
+ "parameters" : [ "gameObject" ],
+ "descriptor" : "(Ler;)V"
+ }, {
+ "method" : "removeGroundItemPile",
+ "owner" : "en",
+ "name" : "aa",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "removeWallDecoration",
+ "owner" : "en",
+ "name" : "k",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "setLinkBelow",
+ "owner" : "en",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "x", "y" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "setTileMinPlane",
+ "owner" : "en",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y", "minPlane" ],
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "__n_238",
+ "owner" : "en",
+ "name" : "n",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5", "arg6", "arg7", "arg8", "arg9" ],
+ "descriptor" : "(IIIIIILem;IJI)Z"
+ }, {
+ "method" : "__e_239",
+ "owner" : "en",
+ "name" : "e",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5", "arg6", "arg7", "arg8" ],
+ "descriptor" : "(IIIIILem;IJZ)Z"
+ }, {
+ "method" : "__r_240",
+ "owner" : "en",
+ "name" : "r",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5", "arg6", "arg7", "arg8", "arg9", "arg10", "arg11" ],
+ "descriptor" : "(IIIIILem;IJIIII)Z"
+ }, {
+ "method" : "__u_241",
+ "owner" : "en",
+ "name" : "u",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "__v_242",
+ "owner" : "en",
+ "name" : "v",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__aw_243",
+ "owner" : "en",
+ "name" : "aw",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(III)Ler;"
+ }, {
+ "method" : "__at_244",
+ "owner" : "en",
+ "name" : "at",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(III)J"
+ }, {
+ "method" : "__ae_245",
+ "owner" : "en",
+ "name" : "ae",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(III)J"
+ }, {
+ "method" : "__av_246",
+ "owner" : "en",
+ "name" : "av",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(III)J"
+ }, {
+ "method" : "__as_247",
+ "owner" : "en",
+ "name" : "as",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__ar_248",
+ "owner" : "en",
+ "name" : "ar",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(Ldk;III)V"
+ }, {
+ "method" : "__ai_249",
+ "owner" : "en",
+ "name" : "ai",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5" ],
+ "descriptor" : "(Ldk;IIIII)V"
+ }, {
+ "method" : "__ao_250",
+ "owner" : "en",
+ "name" : "ao",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__am_251",
+ "owner" : "en",
+ "name" : "am",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5", "arg6", "arg7" ],
+ "descriptor" : "(Leb;IIIIIII)V"
+ }, {
+ "method" : "__bf_252",
+ "owner" : "en",
+ "name" : "bf",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5", "arg6" ],
+ "descriptor" : "(Ldh;IIIIII)V"
+ }, {
+ "method" : "__bz_253",
+ "owner" : "en",
+ "name" : "bz",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(III)Z"
+ }, {
+ "method" : "__bi_254",
+ "owner" : "en",
+ "name" : "bi",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(IIII)Z"
+ }, {
+ "method" : "__bp_255",
+ "owner" : "en",
+ "name" : "bp",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(IIII)Z"
+ }, {
+ "method" : "__bv_256",
+ "owner" : "en",
+ "name" : "bv",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5" ],
+ "descriptor" : "(IIIIII)Z"
+ }, {
+ "method" : "__bg_257",
+ "owner" : "en",
+ "name" : "bg",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(III)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(III[[[I)V"
+ } ]
+}, {
+ "class" : "FaceNormal",
+ "name" : "eo",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "eo",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1318747687
+ }, {
+ "field" : "__g",
+ "owner" : "eo",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -179165399
+ }, {
+ "field" : "__s",
+ "owner" : "eo",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -595977289
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "TextureLoader",
+ "name" : "ew",
+ "super" : "java.lang.Object",
+ "access" : 1537,
+ "interfaces" : [ ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "isLowDetail",
+ "owner" : "ew",
+ "name" : "f",
+ "access" : 1025,
+ "descriptor" : "(II)Z"
+ }, {
+ "method" : "load",
+ "owner" : "ew",
+ "name" : "g",
+ "access" : 1025,
+ "descriptor" : "(II)[I"
+ }, {
+ "method" : "__x_258",
+ "owner" : "ew",
+ "name" : "x",
+ "access" : 1025,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)I"
+ }, {
+ "method" : "__h_259",
+ "owner" : "ew",
+ "name" : "h",
+ "access" : 1025,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(IB)Z"
+ } ],
+ "constructors" : [ ]
+}, {
+ "class" : "Occluder",
+ "name" : "es",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "maxTileX",
+ "owner" : "es",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1180208517
+ }, {
+ "field" : "maxTileY",
+ "owner" : "es",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1650018735
+ }, {
+ "field" : "maxX",
+ "owner" : "es",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -601042275
+ }, {
+ "field" : "maxY",
+ "owner" : "es",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1124898469
+ }, {
+ "field" : "maxZ",
+ "owner" : "es",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1617358619
+ }, {
+ "field" : "minTileX",
+ "owner" : "es",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 682831251
+ }, {
+ "field" : "minTileY",
+ "owner" : "es",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -41154101
+ }, {
+ "field" : "minX",
+ "owner" : "es",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1001198727
+ }, {
+ "field" : "minY",
+ "owner" : "es",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1963358269
+ }, {
+ "field" : "minZ",
+ "owner" : "es",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1380168209
+ }, {
+ "field" : "type",
+ "owner" : "es",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1650121601
+ }, {
+ "field" : "__e",
+ "owner" : "es",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1101834461
+ }, {
+ "field" : "__l",
+ "owner" : "es",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1999293033
+ }, {
+ "field" : "__o",
+ "owner" : "es",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2044960001
+ }, {
+ "field" : "__r",
+ "owner" : "es",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 553866783
+ }, {
+ "field" : "__t",
+ "owner" : "es",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1090105655
+ }, {
+ "field" : "__u",
+ "owner" : "es",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1125333031
+ }, {
+ "field" : "__y",
+ "owner" : "es",
+ "name" : "y",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1619481095
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "GameObject",
+ "name" : "er",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "centerX",
+ "owner" : "er",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 369246091
+ }, {
+ "field" : "centerY",
+ "owner" : "er",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -903852657
+ }, {
+ "field" : "endX",
+ "owner" : "er",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 84457517
+ }, {
+ "field" : "endY",
+ "owner" : "er",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1327459531
+ }, {
+ "field" : "entity",
+ "owner" : "er",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "Lem;"
+ }, {
+ "field" : "flags",
+ "owner" : "er",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1401209023
+ }, {
+ "field" : "height",
+ "owner" : "er",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1690232561
+ }, {
+ "field" : "lastDrawn",
+ "owner" : "er",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -972042923
+ }, {
+ "field" : "orientation",
+ "owner" : "er",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 647360359
+ }, {
+ "field" : "plane",
+ "owner" : "er",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 930687481
+ }, {
+ "field" : "startX",
+ "owner" : "er",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -798171635
+ }, {
+ "field" : "startY",
+ "owner" : "er",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 677592277
+ }, {
+ "field" : "tag",
+ "owner" : "er",
+ "name" : "r",
+ "access" : 1,
+ "descriptor" : "J",
+ "decoder" : 4048635491163491633
+ }, {
+ "field" : "__n",
+ "owner" : "er",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -964826023
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "UrlRequester",
+ "name" : "ex",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.lang.Runnable" ],
+ "fields" : [ {
+ "field" : "isClosed",
+ "owner" : "ex",
+ "name" : "s",
+ "access" : 64,
+ "descriptor" : "Z"
+ }, {
+ "field" : "requests",
+ "owner" : "ex",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Ljava/util/Queue;"
+ }, {
+ "field" : "thread",
+ "owner" : "ex",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "Ljava/lang/Thread;"
+ } ],
+ "methods" : [ {
+ "method" : "close",
+ "owner" : "ex",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "request",
+ "owner" : "ex",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "url" ],
+ "descriptor" : "(Ljava/net/URL;I)Lez;"
+ }, {
+ "method" : "__run_260",
+ "owner" : "ex",
+ "name" : "run",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "UserComparator4",
+ "name" : "ej",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.util.Comparator" ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "ej",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "__a_261",
+ "owner" : "ej",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lkl;Lkl;I)I"
+ }, {
+ "method" : "__compare_262",
+ "owner" : "ej",
+ "name" : "compare",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/lang/Object;Ljava/lang/Object;)I"
+ }, {
+ "method" : "__equals_263",
+ "owner" : "ej",
+ "name" : "equals",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Object;)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Z)V"
+ } ]
+}, {
+ "class" : "UserComparator9",
+ "name" : "eg",
+ "super" : "kj",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "eg",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "__a_264",
+ "owner" : "eg",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lkl;Lkl;I)I"
+ }, {
+ "method" : "__compare_265",
+ "owner" : "eg",
+ "name" : "compare",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/lang/Object;Ljava/lang/Object;)I"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Z)V"
+ } ]
+}, {
+ "class" : "UserComparator8",
+ "name" : "ea",
+ "super" : "kj",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "ea",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "__a_266",
+ "owner" : "ea",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lkl;Lkl;I)I"
+ }, {
+ "method" : "__compare_267",
+ "owner" : "ea",
+ "name" : "compare",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/lang/Object;Ljava/lang/Object;)I"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Z)V"
+ } ]
+}, {
+ "class" : "UserComparator10",
+ "name" : "ed",
+ "super" : "kj",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "ed",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "__a_268",
+ "owner" : "ed",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lkl;Lkl;I)I"
+ }, {
+ "method" : "__compare_269",
+ "owner" : "ed",
+ "name" : "compare",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/lang/Object;Ljava/lang/Object;)I"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Z)V"
+ } ]
+}, {
+ "class" : "UserComparator7",
+ "name" : "ey",
+ "super" : "kj",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "ey",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "__a_270",
+ "owner" : "ey",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lkl;Lkl;I)I"
+ }, {
+ "method" : "__compare_271",
+ "owner" : "ey",
+ "name" : "compare",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/lang/Object;Ljava/lang/Object;)I"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Z)V"
+ } ]
+}, {
+ "class" : "UserComparator5",
+ "name" : "ee",
+ "super" : "kj",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "ee",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "__a_272",
+ "owner" : "ee",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lkl;Lkl;S)I"
+ }, {
+ "method" : "__compare_273",
+ "owner" : "ee",
+ "name" : "compare",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/lang/Object;Ljava/lang/Object;)I"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Z)V"
+ } ]
+}, {
+ "class" : "UserComparator3",
+ "name" : "el",
+ "super" : "kj",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "el",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "__a_274",
+ "owner" : "el",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lkl;Lkl;I)I"
+ }, {
+ "method" : "__compare_275",
+ "owner" : "el",
+ "name" : "compare",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/lang/Object;Ljava/lang/Object;)I"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Z)V"
+ } ]
+}, {
+ "class" : "UserComparator6",
+ "name" : "eu",
+ "super" : "kj",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "eu",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "__a_276",
+ "owner" : "eu",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lkl;Lkl;I)I"
+ }, {
+ "method" : "__compare_277",
+ "owner" : "eu",
+ "name" : "compare",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/lang/Object;Ljava/lang/Object;)I"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Z)V"
+ } ]
+}, {
+ "class" : "MilliClock",
+ "name" : "fg",
+ "super" : "fl",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__f",
+ "owner" : "fg",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1998893585
+ }, {
+ "field" : "__g",
+ "owner" : "fg",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 453356517
+ }, {
+ "field" : "__h",
+ "owner" : "fg",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1319788187
+ }, {
+ "field" : "__s",
+ "owner" : "fg",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1712474251
+ }, {
+ "field" : "__x",
+ "owner" : "fg",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : -5588373986659017165
+ }, {
+ "field" : "__a",
+ "owner" : "fg",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "[J"
+ } ],
+ "methods" : [ {
+ "method" : "mark",
+ "owner" : "fg",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "wait",
+ "owner" : "fg",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "cycleMs", "minSleepMs" ],
+ "descriptor" : "(III)I"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "BufferedSource",
+ "name" : "fj",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.lang.Runnable" ],
+ "fields" : [ {
+ "field" : "buffer",
+ "owner" : "fj",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "capacity",
+ "owner" : "fj",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1017796057
+ }, {
+ "field" : "exception",
+ "owner" : "fj",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Ljava/io/IOException;"
+ }, {
+ "field" : "inputStream",
+ "owner" : "fj",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Ljava/io/InputStream;"
+ }, {
+ "field" : "limit",
+ "owner" : "fj",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 340283105
+ }, {
+ "field" : "position",
+ "owner" : "fj",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1593898169
+ }, {
+ "field" : "thread",
+ "owner" : "fj",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/Thread;"
+ } ],
+ "methods" : [ {
+ "method" : "available",
+ "owner" : "fj",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "close",
+ "owner" : "fj",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "isAvailable",
+ "owner" : "fj",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "length" ],
+ "descriptor" : "(II)Z"
+ }, {
+ "method" : "read",
+ "owner" : "fj",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ "dst", "dstIndex", "length" ],
+ "descriptor" : "([BIII)I"
+ }, {
+ "method" : "readUnsignedByte",
+ "owner" : "fj",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "__run_278",
+ "owner" : "fj",
+ "name" : "run",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Ljava/io/InputStream;I)V"
+ } ]
+}, {
+ "class" : "TaskHandler",
+ "name" : "fo",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.lang.Runnable" ],
+ "fields" : [ {
+ "field" : "current",
+ "owner" : "fo",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Lfn;"
+ }, {
+ "field" : "isClosed",
+ "owner" : "fo",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "task0",
+ "owner" : "fo",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lfn;"
+ }, {
+ "field" : "thread",
+ "owner" : "fo",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/Thread;"
+ } ],
+ "methods" : [ {
+ "method" : "close",
+ "owner" : "fo",
+ "name" : "a",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "newSocketTask",
+ "owner" : "fo",
+ "name" : "g",
+ "access" : 17,
+ "descriptor" : "(Ljava/lang/String;II)Lfn;"
+ }, {
+ "method" : "newTask",
+ "owner" : "fo",
+ "name" : "s",
+ "access" : 16,
+ "descriptor" : "(IIILjava/lang/Object;I)Lfn;"
+ }, {
+ "method" : "newThreadTask",
+ "owner" : "fo",
+ "name" : "x",
+ "access" : 17,
+ "descriptor" : "(Ljava/lang/Runnable;IS)Lfn;"
+ }, {
+ "method" : "__run_279",
+ "owner" : "fo",
+ "name" : "run",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "BufferedNetSocket",
+ "name" : "fd",
+ "super" : "fq",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "sink",
+ "owner" : "fd",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Lfx;"
+ }, {
+ "field" : "socket",
+ "owner" : "fd",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljava/net/Socket;"
+ }, {
+ "field" : "source",
+ "owner" : "fd",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lfj;"
+ } ],
+ "methods" : [ {
+ "method" : "available",
+ "owner" : "fd",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "close",
+ "owner" : "fd",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "isAvailable",
+ "owner" : "fd",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "length" ],
+ "descriptor" : "(II)Z"
+ }, {
+ "method" : "read",
+ "owner" : "fd",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ "dst", "dstIndex", "length" ],
+ "descriptor" : "([BIIB)I"
+ }, {
+ "method" : "readUnsignedByte",
+ "owner" : "fd",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "write",
+ "owner" : "fd",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "src", "srcIndex", "length" ],
+ "descriptor" : "([BIII)V"
+ }, {
+ "method" : "__finalize_280",
+ "owner" : "fd",
+ "name" : "finalize",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Ljava/net/Socket;II)V"
+ } ]
+}, {
+ "class" : "NetSocket",
+ "name" : "fi",
+ "super" : "fq",
+ "access" : 49,
+ "interfaces" : [ "java.lang.Runnable" ],
+ "fields" : [ {
+ "field" : "array",
+ "owner" : "fi",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "exceptionWriting",
+ "owner" : "fi",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "inputStream",
+ "owner" : "fi",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljava/io/InputStream;"
+ }, {
+ "field" : "isClosed",
+ "owner" : "fi",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "outputStream",
+ "owner" : "fi",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Ljava/io/OutputStream;"
+ }, {
+ "field" : "socket",
+ "owner" : "fi",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Ljava/net/Socket;"
+ }, {
+ "field" : "task",
+ "owner" : "fi",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "Lfn;"
+ }, {
+ "field" : "taskHandler",
+ "owner" : "fi",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "Lfo;"
+ }, {
+ "field" : "__m",
+ "owner" : "fi",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1012555369
+ }, {
+ "field" : "__q",
+ "owner" : "fi",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1735838885
+ }, {
+ "field" : "__e",
+ "owner" : "fi",
+ "name" : "e",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : 530912779
+ }, {
+ "field" : "__n",
+ "owner" : "fi",
+ "name" : "n",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : -487671753
+ } ],
+ "methods" : [ {
+ "method" : "available",
+ "owner" : "fi",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "close",
+ "owner" : "fi",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "finalize",
+ "owner" : "fi",
+ "name" : "finalize",
+ "access" : 4,
+ "descriptor" : "()V"
+ }, {
+ "method" : "isAvailable",
+ "owner" : "fi",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "length" ],
+ "descriptor" : "(II)Z"
+ }, {
+ "method" : "read",
+ "owner" : "fi",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ "dst", "dstIndex", "length" ],
+ "descriptor" : "([BIIB)I"
+ }, {
+ "method" : "readUnsignedByte",
+ "owner" : "fi",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "write",
+ "owner" : "fi",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "src", "srcIndex", "length" ],
+ "descriptor" : "([BIII)V"
+ }, {
+ "method" : "write0",
+ "owner" : "fi",
+ "name" : "k",
+ "access" : 0,
+ "parameters" : [ "src", "srcIndex", "length" ],
+ "descriptor" : "([BIII)V"
+ }, {
+ "method" : "__run_281",
+ "owner" : "fi",
+ "name" : "run",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Ljava/net/Socket;Lfo;I)V"
+ } ]
+}, {
+ "class" : "BufferedSink",
+ "name" : "fx",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.lang.Runnable" ],
+ "fields" : [ {
+ "field" : "buffer",
+ "owner" : "fx",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "capacity",
+ "owner" : "fx",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1074904079
+ }, {
+ "field" : "exception",
+ "owner" : "fx",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Ljava/io/IOException;"
+ }, {
+ "field" : "isClosed0",
+ "owner" : "fx",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "limit",
+ "owner" : "fx",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -946154325
+ }, {
+ "field" : "outputStream",
+ "owner" : "fx",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Ljava/io/OutputStream;"
+ }, {
+ "field" : "position",
+ "owner" : "fx",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1978751501
+ }, {
+ "field" : "thread",
+ "owner" : "fx",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/Thread;"
+ } ],
+ "methods" : [ {
+ "method" : "close",
+ "owner" : "fx",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "isClosed",
+ "owner" : "fx",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)Z"
+ }, {
+ "method" : "write",
+ "owner" : "fx",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "src", "srcIndex", "length" ],
+ "descriptor" : "([BIIB)V"
+ }, {
+ "method" : "__run_282",
+ "owner" : "fx",
+ "name" : "run",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Ljava/io/OutputStream;I)V"
+ } ]
+}, {
+ "class" : "CollisionMap",
+ "name" : "fk",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "flags",
+ "owner" : "fk",
+ "name" : "au",
+ "access" : 1,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "xInset",
+ "owner" : "fk",
+ "name" : "an",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1710257743
+ }, {
+ "field" : "xSize",
+ "owner" : "fk",
+ "name" : "ae",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 336385347
+ }, {
+ "field" : "yInset",
+ "owner" : "fk",
+ "name" : "at",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -882717619
+ }, {
+ "field" : "ySize",
+ "owner" : "fk",
+ "name" : "av",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -106970989
+ } ],
+ "methods" : [ {
+ "method" : "clear",
+ "owner" : "fk",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__s_283",
+ "owner" : "fk",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4" ],
+ "descriptor" : "(IIIIZI)V"
+ }, {
+ "method" : "__g_284",
+ "owner" : "fk",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4" ],
+ "descriptor" : "(IIIIZB)V"
+ }, {
+ "method" : "__x_285",
+ "owner" : "fk",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__h_286",
+ "owner" : "fk",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__f_287",
+ "owner" : "fk",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "__p_288",
+ "owner" : "fk",
+ "name" : "p",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4" ],
+ "descriptor" : "(IIIIZI)V"
+ }, {
+ "method" : "__m_289",
+ "owner" : "fk",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5" ],
+ "descriptor" : "(IIIIIZB)V"
+ }, {
+ "method" : "__q_290",
+ "owner" : "fk",
+ "name" : "q",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "__b_291",
+ "owner" : "fk",
+ "name" : "b",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(II)V"
+ } ]
+}, {
+ "class" : "PacketBufferNode",
+ "name" : "fa",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "packetBuffer",
+ "owner" : "fa",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "Lge;"
+ }, {
+ "field" : "__a",
+ "owner" : "fa",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__s",
+ "owner" : "fa",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -631811573
+ }, {
+ "field" : "__x",
+ "owner" : "fa",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -962645799
+ } ],
+ "methods" : [ {
+ "method" : "__x_292",
+ "owner" : "fa",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Huffman",
+ "name" : "fy",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__s",
+ "owner" : "fy",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__a",
+ "owner" : "fy",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__g",
+ "owner" : "fy",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "[I"
+ } ],
+ "methods" : [ {
+ "method" : "__a_293",
+ "owner" : "fy",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4" ],
+ "descriptor" : "([BII[BII)I"
+ }, {
+ "method" : "__s_294",
+ "owner" : "fy",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4" ],
+ "descriptor" : "([BI[BIIB)I"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "([B)V"
+ } ]
+}, {
+ "class" : "Bzip2State",
+ "name" : "gz",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__af",
+ "owner" : "gz",
+ "name" : "af",
+ "access" : 0,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "__ag",
+ "owner" : "gz",
+ "name" : "ag",
+ "access" : 0,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "__t",
+ "owner" : "gz",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "B"
+ }, {
+ "field" : "__aa",
+ "owner" : "gz",
+ "name" : "aa",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__ah",
+ "owner" : "gz",
+ "name" : "ah",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__aw",
+ "owner" : "gz",
+ "name" : "aw",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__ay",
+ "owner" : "gz",
+ "name" : "ay",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__b",
+ "owner" : "gz",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__p",
+ "owner" : "gz",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__an",
+ "owner" : "gz",
+ "name" : "an",
+ "access" : 0,
+ "descriptor" : "[[B"
+ }, {
+ "field" : "__aj",
+ "owner" : "gz",
+ "name" : "aj",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1753825139
+ }, {
+ "field" : "__d",
+ "owner" : "gz",
+ "name" : "d",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -604946491
+ }, {
+ "field" : "__e",
+ "owner" : "gz",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1905079051
+ }, {
+ "field" : "__i",
+ "owner" : "gz",
+ "name" : "i",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 403238131
+ }, {
+ "field" : "__k",
+ "owner" : "gz",
+ "name" : "k",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -922061599
+ }, {
+ "field" : "__l",
+ "owner" : "gz",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -247978423
+ }, {
+ "field" : "__m",
+ "owner" : "gz",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -84172855
+ }, {
+ "field" : "__n",
+ "owner" : "gz",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 495447083
+ }, {
+ "field" : "__o",
+ "owner" : "gz",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 646868241
+ }, {
+ "field" : "__q",
+ "owner" : "gz",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1267061859
+ }, {
+ "field" : "__r",
+ "owner" : "gz",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1220057931
+ }, {
+ "field" : "__u",
+ "owner" : "gz",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -738226065
+ }, {
+ "field" : "__v",
+ "owner" : "gz",
+ "name" : "v",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1583714189
+ }, {
+ "field" : "__y",
+ "owner" : "gz",
+ "name" : "y",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__z",
+ "owner" : "gz",
+ "name" : "z",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1095209005
+ }, {
+ "field" : "__ab",
+ "owner" : "gz",
+ "name" : "ab",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__au",
+ "owner" : "gz",
+ "name" : "au",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__c",
+ "owner" : "gz",
+ "name" : "c",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__w",
+ "owner" : "gz",
+ "name" : "w",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ae",
+ "owner" : "gz",
+ "name" : "ae",
+ "access" : 0,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "__at",
+ "owner" : "gz",
+ "name" : "at",
+ "access" : 0,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "__av",
+ "owner" : "gz",
+ "name" : "av",
+ "access" : 0,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "__a",
+ "owner" : "gz",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "I"
+ }, {
+ "field" : "__f",
+ "owner" : "gz",
+ "name" : "f",
+ "access" : 16,
+ "descriptor" : "I"
+ }, {
+ "field" : "__g",
+ "owner" : "gz",
+ "name" : "g",
+ "access" : 16,
+ "descriptor" : "I"
+ }, {
+ "field" : "__h",
+ "owner" : "gz",
+ "name" : "h",
+ "access" : 16,
+ "descriptor" : "I"
+ }, {
+ "field" : "__s",
+ "owner" : "gz",
+ "name" : "s",
+ "access" : 16,
+ "descriptor" : "I"
+ }, {
+ "field" : "__x",
+ "owner" : "gz",
+ "name" : "x",
+ "access" : 16,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Buffer",
+ "name" : "gx",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "array",
+ "owner" : "gx",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "[B"
+ }, {
+ "field" : "index",
+ "owner" : "gx",
+ "name" : "s",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1555038209
+ } ],
+ "methods" : [ {
+ "method" : "encryptRsa",
+ "owner" : "gx",
+ "name" : "bf",
+ "access" : 1,
+ "descriptor" : "(Ljava/math/BigInteger;Ljava/math/BigInteger;I)V"
+ }, {
+ "method" : "readBoolean",
+ "owner" : "gx",
+ "name" : "av",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "readByte",
+ "owner" : "gx",
+ "name" : "ab",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)B"
+ }, {
+ "method" : "readInt",
+ "owner" : "gx",
+ "name" : "at",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "readLong",
+ "owner" : "gx",
+ "name" : "ae",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)J"
+ }, {
+ "method" : "readMedium",
+ "owner" : "gx",
+ "name" : "an",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "readStringCp1252NullCircumfixed",
+ "owner" : "gx",
+ "name" : "as",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ljava/lang/String;"
+ }, {
+ "method" : "readStringCp1252NullTerminated",
+ "owner" : "gx",
+ "name" : "aj",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(S)Ljava/lang/String;"
+ }, {
+ "method" : "readStringCp1252NullTerminatedOrNull",
+ "owner" : "gx",
+ "name" : "au",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ljava/lang/String;"
+ }, {
+ "method" : "readUnsignedByte",
+ "owner" : "gx",
+ "name" : "aa",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "readUnsignedByteNegate",
+ "owner" : "gx",
+ "name" : "bv",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "writeBoolean",
+ "owner" : "gx",
+ "name" : "b",
+ "access" : 1,
+ "parameters" : [ "value" ],
+ "descriptor" : "(ZI)V"
+ }, {
+ "method" : "writeByte",
+ "owner" : "gx",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ "value" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "writeInt",
+ "owner" : "gx",
+ "name" : "p",
+ "access" : 1,
+ "parameters" : [ "value" ],
+ "descriptor" : "(IB)V"
+ }, {
+ "method" : "writeIntLE",
+ "owner" : "gx",
+ "name" : "bc",
+ "access" : 1,
+ "parameters" : [ "value" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "writeIntLE16",
+ "owner" : "gx",
+ "name" : "bx",
+ "access" : 1,
+ "parameters" : [ "value" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "writeIntME",
+ "owner" : "gx",
+ "name" : "bs",
+ "access" : 1,
+ "parameters" : [ "value" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "writeLong",
+ "owner" : "gx",
+ "name" : "q",
+ "access" : 1,
+ "parameters" : [ "n" ],
+ "descriptor" : "(J)V"
+ }, {
+ "method" : "writeLongMedium",
+ "owner" : "gx",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ "n" ],
+ "descriptor" : "(J)V"
+ }, {
+ "method" : "writeMedium",
+ "owner" : "gx",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ "value" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "writeShort",
+ "owner" : "gx",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "value" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "writeShortLE",
+ "owner" : "gx",
+ "name" : "bl",
+ "access" : 1,
+ "parameters" : [ "value" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "writeSmartByteShort",
+ "owner" : "gx",
+ "name" : "v",
+ "access" : 1,
+ "parameters" : [ "value" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "writeStringCp1252NullCircumfixed",
+ "owner" : "gx",
+ "name" : "t",
+ "access" : 1,
+ "parameters" : [ "string" ],
+ "descriptor" : "(Ljava/lang/String;I)V"
+ }, {
+ "method" : "writeStringCp1252NullTerminated",
+ "owner" : "gx",
+ "name" : "e",
+ "access" : 1,
+ "parameters" : [ "string" ],
+ "descriptor" : "(Ljava/lang/String;I)V"
+ }, {
+ "method" : "xteaDecrypt",
+ "owner" : "gx",
+ "name" : "am",
+ "access" : 1,
+ "parameters" : [ "xteaKey", "start", "end" ],
+ "descriptor" : "([IIIB)V"
+ }, {
+ "method" : "xteaDecryptAll",
+ "owner" : "gx",
+ "name" : "ap",
+ "access" : 1,
+ "parameters" : [ "xteaKey" ],
+ "descriptor" : "([II)V"
+ }, {
+ "method" : "xteaEncrypt",
+ "owner" : "gx",
+ "name" : "ak",
+ "access" : 1,
+ "parameters" : [ "xteaKey", "start", "end" ],
+ "descriptor" : "([IIII)V"
+ }, {
+ "method" : "xteaEncryptAll",
+ "owner" : "gx",
+ "name" : "ax",
+ "access" : 1,
+ "parameters" : [ "xteaKey" ],
+ "descriptor" : "([II)V"
+ }, {
+ "method" : "__g_295",
+ "owner" : "gx",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__l_296",
+ "owner" : "gx",
+ "name" : "l",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/CharSequence;I)V"
+ }, {
+ "method" : "__o_297",
+ "owner" : "gx",
+ "name" : "o",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "([BIII)V"
+ }, {
+ "method" : "__u_298",
+ "owner" : "gx",
+ "name" : "u",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(IB)V"
+ }, {
+ "method" : "__y_299",
+ "owner" : "gx",
+ "name" : "y",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(IB)V"
+ }, {
+ "method" : "__k_300",
+ "owner" : "gx",
+ "name" : "k",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__c_301",
+ "owner" : "gx",
+ "name" : "c",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__ah_302",
+ "owner" : "gx",
+ "name" : "ah",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "__aw_303",
+ "owner" : "gx",
+ "name" : "aw",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__ar_304",
+ "owner" : "gx",
+ "name" : "ar",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ljava/lang/String;"
+ }, {
+ "method" : "__ai_305",
+ "owner" : "gx",
+ "name" : "ai",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "([BIII)V"
+ }, {
+ "method" : "__aq_306",
+ "owner" : "gx",
+ "name" : "aq",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__al_307",
+ "owner" : "gx",
+ "name" : "al",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "__az_308",
+ "owner" : "gx",
+ "name" : "az",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__ac_309",
+ "owner" : "gx",
+ "name" : "ac",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "__ao_310",
+ "owner" : "gx",
+ "name" : "ao",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__ad_311",
+ "owner" : "gx",
+ "name" : "ad",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "__bo_312",
+ "owner" : "gx",
+ "name" : "bo",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)I"
+ }, {
+ "method" : "__be_313",
+ "owner" : "gx",
+ "name" : "be",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(S)Z"
+ }, {
+ "method" : "__bd_314",
+ "owner" : "gx",
+ "name" : "bd",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__bz_315",
+ "owner" : "gx",
+ "name" : "bz",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__bi_316",
+ "owner" : "gx",
+ "name" : "bi",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__bp_317",
+ "owner" : "gx",
+ "name" : "bp",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__bg_318",
+ "owner" : "gx",
+ "name" : "bg",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__bk_319",
+ "owner" : "gx",
+ "name" : "bk",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)B"
+ }, {
+ "method" : "__br_320",
+ "owner" : "gx",
+ "name" : "br",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)B"
+ }, {
+ "method" : "__bn_321",
+ "owner" : "gx",
+ "name" : "bn",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)B"
+ }, {
+ "method" : "__bb_322",
+ "owner" : "gx",
+ "name" : "bb",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__bw_323",
+ "owner" : "gx",
+ "name" : "bw",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__bh_324",
+ "owner" : "gx",
+ "name" : "bh",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "__bj_325",
+ "owner" : "gx",
+ "name" : "bj",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__bq_326",
+ "owner" : "gx",
+ "name" : "bq",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__by_327",
+ "owner" : "gx",
+ "name" : "by",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__bu_328",
+ "owner" : "gx",
+ "name" : "bu",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__bt_329",
+ "owner" : "gx",
+ "name" : "bt",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__ba_330",
+ "owner" : "gx",
+ "name" : "ba",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "__bm_331",
+ "owner" : "gx",
+ "name" : "bm",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__cm_332",
+ "owner" : "gx",
+ "name" : "cm",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__ch_333",
+ "owner" : "gx",
+ "name" : "ch",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "([BIII)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(I)V"
+ }, {
+ "access" : 1,
+ "descriptor" : "([B)V"
+ } ]
+}, {
+ "class" : "PacketBuffer",
+ "name" : "ge",
+ "super" : "gx",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "bitIndex",
+ "owner" : "ge",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 730712021
+ }, {
+ "field" : "isaacCipher0",
+ "owner" : "ge",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "Lgb;"
+ } ],
+ "methods" : [ {
+ "method" : "bitsRemaining",
+ "owner" : "ge",
+ "name" : "je",
+ "access" : 1,
+ "parameters" : [ "index" ],
+ "descriptor" : "(II)I"
+ }, {
+ "method" : "exportIndex",
+ "owner" : "ge",
+ "name" : "jf",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "importIndex",
+ "owner" : "ge",
+ "name" : "jz",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "newIsaacCipher",
+ "owner" : "ge",
+ "name" : "jl",
+ "access" : 1,
+ "parameters" : [ "array" ],
+ "descriptor" : "([IB)V"
+ }, {
+ "method" : "readBits",
+ "owner" : "ge",
+ "name" : "jq",
+ "access" : 1,
+ "parameters" : [ "bits" ],
+ "descriptor" : "(II)I"
+ }, {
+ "method" : "readByteIsaac",
+ "owner" : "ge",
+ "name" : "jx",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "readSmartByteShortIsaac",
+ "owner" : "ge",
+ "name" : "jr",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "setIsaacCipher",
+ "owner" : "ge",
+ "name" : "jh",
+ "access" : 1,
+ "parameters" : [ "isaacCipher" ],
+ "descriptor" : "(Lgb;I)V"
+ }, {
+ "method" : "writeByteIsaac",
+ "owner" : "ge",
+ "name" : "jo",
+ "access" : 1,
+ "parameters" : [ "b" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__jp_334",
+ "owner" : "ge",
+ "name" : "jp",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__jt_335",
+ "owner" : "ge",
+ "name" : "jt",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "([BIII)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(I)V"
+ } ]
+}, {
+ "class" : "IsaacCipher",
+ "name" : "gb",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__m",
+ "owner" : "gb",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1935004419
+ }, {
+ "field" : "__p",
+ "owner" : "gb",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 487301423
+ }, {
+ "field" : "__q",
+ "owner" : "gb",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1926968705
+ }, {
+ "field" : "__x",
+ "owner" : "gb",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -816921805
+ }, {
+ "field" : "__f",
+ "owner" : "gb",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__h",
+ "owner" : "gb",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "[I"
+ } ],
+ "methods" : [ {
+ "method" : "__a_336",
+ "owner" : "gb",
+ "name" : "a",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "__s_337",
+ "owner" : "gb",
+ "name" : "s",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__g_338",
+ "owner" : "gb",
+ "name" : "g",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__x_339",
+ "owner" : "gb",
+ "name" : "x",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "([I)V"
+ } ]
+}, {
+ "class" : "IterableNodeHashTable",
+ "name" : "gs",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ "java.lang.Iterable" ],
+ "fields" : [ {
+ "field" : "buckets",
+ "owner" : "gs",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[Lhy;"
+ }, {
+ "field" : "current",
+ "owner" : "gs",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lhy;"
+ }, {
+ "field" : "currentGet",
+ "owner" : "gs",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Lhy;"
+ }, {
+ "field" : "index",
+ "owner" : "gs",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "size",
+ "owner" : "gs",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ {
+ "method" : "clear",
+ "owner" : "gs",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "first",
+ "owner" : "gs",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "()Lhy;"
+ }, {
+ "method" : "get",
+ "owner" : "gs",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "(J)Lhy;"
+ }, {
+ "method" : "next",
+ "owner" : "gs",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "()Lhy;"
+ }, {
+ "method" : "put",
+ "owner" : "gs",
+ "name" : "s",
+ "access" : 1,
+ "descriptor" : "(Lhy;J)V"
+ }, {
+ "method" : "__iterator_340",
+ "owner" : "gs",
+ "name" : "iterator",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Ljava/util/Iterator;"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(I)V"
+ } ]
+}, {
+ "class" : "IterableNodeDequeDescendingIterator",
+ "name" : "gg",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.util.Iterator" ],
+ "fields" : [ {
+ "field" : "deque",
+ "owner" : "gg",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lhj;"
+ }, {
+ "field" : "__g",
+ "owner" : "gg",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Lhy;"
+ }, {
+ "field" : "__s",
+ "owner" : "gg",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lhy;"
+ } ],
+ "methods" : [ {
+ "method" : "__next_341",
+ "owner" : "gg",
+ "name" : "next",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Ljava/lang/Object;"
+ }, {
+ "method" : "__hasNext_342",
+ "owner" : "gg",
+ "name" : "hasNext",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Z"
+ }, {
+ "method" : "__remove_343",
+ "owner" : "gg",
+ "name" : "remove",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Lhj;)V"
+ } ]
+}, {
+ "class" : "EvictingDualNodeHashTable",
+ "name" : "gp",
+ "super" : "java.lang.Object",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "capacity",
+ "owner" : "gp",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "deque",
+ "owner" : "gp",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "Lgd;"
+ }, {
+ "field" : "hashTable",
+ "owner" : "gp",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lht;"
+ }, {
+ "field" : "remainingCapacity",
+ "owner" : "gp",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__a",
+ "owner" : "gp",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lho;"
+ } ],
+ "methods" : [ {
+ "method" : "clear",
+ "owner" : "gp",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "get",
+ "owner" : "gp",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "key" ],
+ "descriptor" : "(J)Lho;"
+ }, {
+ "method" : "put",
+ "owner" : "gp",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "value", "key" ],
+ "descriptor" : "(Lho;J)V"
+ }, {
+ "method" : "remove",
+ "owner" : "gp",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "key" ],
+ "descriptor" : "(J)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(I)V"
+ } ]
+}, {
+ "class" : "IterableNodeDeque",
+ "name" : "hj",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.lang.Iterable" ],
+ "fields" : [ {
+ "field" : "current",
+ "owner" : "hj",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lhy;"
+ }, {
+ "field" : "sentinel",
+ "owner" : "hj",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lhy;"
+ } ],
+ "methods" : [ {
+ "method" : "addFirst",
+ "owner" : "hj",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "node" ],
+ "descriptor" : "(Lhy;)V"
+ }, {
+ "method" : "addLast",
+ "owner" : "hj",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "node" ],
+ "descriptor" : "(Lhy;)V"
+ }, {
+ "method" : "clear",
+ "owner" : "hj",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "isEmpty",
+ "owner" : "hj",
+ "name" : "m",
+ "access" : 1,
+ "descriptor" : "()Z"
+ }, {
+ "method" : "last",
+ "owner" : "hj",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Lhy;"
+ }, {
+ "method" : "previous",
+ "owner" : "hj",
+ "name" : "p",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Lhy;"
+ }, {
+ "method" : "previousOrLast",
+ "owner" : "hj",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ "node" ],
+ "descriptor" : "(Lhy;)Lhy;"
+ }, {
+ "method" : "__iterator_344",
+ "owner" : "hj",
+ "name" : "iterator",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Ljava/util/Iterator;"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "LinkDeque",
+ "name" : "hp",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "hp",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lhh;"
+ }, {
+ "field" : "__s",
+ "owner" : "hp",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lhh;"
+ } ],
+ "methods" : [ {
+ "method" : "__a_345",
+ "owner" : "hp",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lhh;)V"
+ }, {
+ "method" : "__s_346",
+ "owner" : "hp",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Lhh;"
+ }, {
+ "method" : "__g_347",
+ "owner" : "hp",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Lhh;"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Link",
+ "name" : "hh",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "hh",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lhh;"
+ }, {
+ "field" : "__s",
+ "owner" : "hh",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lhh;"
+ } ],
+ "methods" : [ {
+ "method" : "remove",
+ "owner" : "hh",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 4,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "IterableNodeHashTableIterator",
+ "name" : "hr",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.util.Iterator" ],
+ "fields" : [ {
+ "field" : "hashTable",
+ "owner" : "hr",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lgs;"
+ }, {
+ "field" : "__s",
+ "owner" : "hr",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lhy;"
+ }, {
+ "field" : "__x",
+ "owner" : "hr",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lhy;"
+ }, {
+ "field" : "__g",
+ "owner" : "hr",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ {
+ "method" : "__h_348",
+ "owner" : "hr",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__next_349",
+ "owner" : "hr",
+ "name" : "next",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Ljava/lang/Object;"
+ }, {
+ "method" : "__hasNext_350",
+ "owner" : "hr",
+ "name" : "hasNext",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Z"
+ }, {
+ "method" : "__remove_351",
+ "owner" : "hr",
+ "name" : "remove",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Lgs;)V"
+ } ]
+}, {
+ "class" : "IterableDualNodeQueueIterator",
+ "name" : "hm",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.util.Iterator" ],
+ "fields" : [ {
+ "field" : "queue",
+ "owner" : "hm",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lhw;"
+ }, {
+ "field" : "__g",
+ "owner" : "hm",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Lho;"
+ }, {
+ "field" : "__s",
+ "owner" : "hm",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lho;"
+ } ],
+ "methods" : [ {
+ "method" : "__next_352",
+ "owner" : "hm",
+ "name" : "next",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Ljava/lang/Object;"
+ }, {
+ "method" : "__hasNext_353",
+ "owner" : "hm",
+ "name" : "hasNext",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Z"
+ }, {
+ "method" : "__remove_354",
+ "owner" : "hm",
+ "name" : "remove",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Lhw;)V"
+ } ]
+}, {
+ "class" : "IterableDualNodeQueue",
+ "name" : "hw",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.lang.Iterable" ],
+ "fields" : [ {
+ "field" : "head",
+ "owner" : "hw",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lho;"
+ }, {
+ "field" : "sentinel",
+ "owner" : "hw",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "Lho;"
+ } ],
+ "methods" : [ {
+ "method" : "add",
+ "owner" : "hw",
+ "name" : "s",
+ "access" : 1,
+ "descriptor" : "(Lho;)V"
+ }, {
+ "method" : "clear",
+ "owner" : "hw",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__g_355",
+ "owner" : "hw",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()Lho;"
+ }, {
+ "method" : "__x_356",
+ "owner" : "hw",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()Lho;"
+ }, {
+ "method" : "__h_357",
+ "owner" : "hw",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lho;)Lho;"
+ }, {
+ "method" : "__f_358",
+ "owner" : "hw",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()Lho;"
+ }, {
+ "method" : "__iterator_359",
+ "owner" : "hw",
+ "name" : "iterator",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Ljava/util/Iterator;"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "MusicPatchNode2",
+ "name" : "hu",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "hu",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__s",
+ "owner" : "hu",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__f",
+ "owner" : "hu",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 187209611
+ }, {
+ "field" : "__g",
+ "owner" : "hu",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 235866155
+ }, {
+ "field" : "__h",
+ "owner" : "hu",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1157549911
+ }, {
+ "field" : "__m",
+ "owner" : "hu",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -367260157
+ }, {
+ "field" : "__p",
+ "owner" : "hu",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1019366085
+ }, {
+ "field" : "__q",
+ "owner" : "hu",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2095726733
+ }, {
+ "field" : "__x",
+ "owner" : "hu",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1113012701
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "MidiPcmStream",
+ "name" : "hn",
+ "super" : "do",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "midiFile",
+ "owner" : "hn",
+ "name" : "af",
+ "access" : 0,
+ "descriptor" : "Lhf;"
+ }, {
+ "field" : "musicPatches",
+ "owner" : "hn",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lht;"
+ }, {
+ "field" : "patchStream",
+ "owner" : "hn",
+ "name" : "an",
+ "access" : 0,
+ "descriptor" : "Lhb;"
+ }, {
+ "field" : "track",
+ "owner" : "hn",
+ "name" : "aa",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1647160153
+ }, {
+ "field" : "trackLength",
+ "owner" : "hn",
+ "name" : "ab",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1676533057
+ }, {
+ "field" : "__ay",
+ "owner" : "hn",
+ "name" : "ay",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__ag",
+ "owner" : "hn",
+ "name" : "ag",
+ "access" : 0,
+ "descriptor" : "[[Lhl;"
+ }, {
+ "field" : "__z",
+ "owner" : "hn",
+ "name" : "z",
+ "access" : 0,
+ "descriptor" : "[[Lhl;"
+ }, {
+ "field" : "__g",
+ "owner" : "hn",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1205600737
+ }, {
+ "field" : "__s",
+ "owner" : "hn",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1381649205
+ }, {
+ "field" : "__b",
+ "owner" : "hn",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__c",
+ "owner" : "hn",
+ "name" : "c",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__d",
+ "owner" : "hn",
+ "name" : "d",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__e",
+ "owner" : "hn",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__f",
+ "owner" : "hn",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__h",
+ "owner" : "hn",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__i",
+ "owner" : "hn",
+ "name" : "i",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__j",
+ "owner" : "hn",
+ "name" : "j",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__m",
+ "owner" : "hn",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__n",
+ "owner" : "hn",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__p",
+ "owner" : "hn",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__q",
+ "owner" : "hn",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__v",
+ "owner" : "hn",
+ "name" : "v",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__w",
+ "owner" : "hn",
+ "name" : "w",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__x",
+ "owner" : "hn",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ah",
+ "owner" : "hn",
+ "name" : "ah",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : -4638524786880878329
+ }, {
+ "field" : "__aw",
+ "owner" : "hn",
+ "name" : "aw",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : -8032164791710535309
+ } ],
+ "methods" : [ {
+ "method" : "clear",
+ "owner" : "hn",
+ "name" : "e",
+ "access" : 33,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "clearAll",
+ "owner" : "hn",
+ "name" : "x",
+ "access" : 33,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "isReady",
+ "owner" : "hn",
+ "name" : "r",
+ "access" : 32,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "loadMusicTrack",
+ "owner" : "hn",
+ "name" : "g",
+ "access" : 33,
+ "parameters" : [ "musicTrack", "i", "s", "frequency" ],
+ "descriptor" : "(Lhx;Liz;Lds;II)Z"
+ }, {
+ "method" : "removeAll",
+ "owner" : "hn",
+ "name" : "h",
+ "access" : 32,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "setMusicTrack",
+ "owner" : "hn",
+ "name" : "b",
+ "access" : 33,
+ "parameters" : [ "musicTrack", "b" ],
+ "descriptor" : "(Lhx;ZI)V"
+ }, {
+ "method" : "__a_360",
+ "owner" : "hn",
+ "name" : "a",
+ "access" : 33,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(IB)V"
+ }, {
+ "method" : "__s_361",
+ "owner" : "hn",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__t_362",
+ "owner" : "hn",
+ "name" : "t",
+ "access" : 33,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__l_363",
+ "owner" : "hn",
+ "name" : "l",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__o_364",
+ "owner" : "hn",
+ "name" : "o",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__u_365",
+ "owner" : "hn",
+ "name" : "u",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "__y_366",
+ "owner" : "hn",
+ "name" : "y",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lhl;ZB)V"
+ }, {
+ "method" : "__k_367",
+ "owner" : "hn",
+ "name" : "k",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIIB)V"
+ }, {
+ "method" : "__v_368",
+ "owner" : "hn",
+ "name" : "v",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "__c_369",
+ "owner" : "hn",
+ "name" : "c",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(IIB)V"
+ }, {
+ "method" : "__aa_370",
+ "owner" : "hn",
+ "name" : "aa",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__ab_371",
+ "owner" : "hn",
+ "name" : "ab",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__ah_372",
+ "owner" : "hn",
+ "name" : "ah",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__aw_373",
+ "owner" : "hn",
+ "name" : "aw",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__an_374",
+ "owner" : "hn",
+ "name" : "an",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__at_375",
+ "owner" : "hn",
+ "name" : "at",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(IB)V"
+ }, {
+ "method" : "__al_376",
+ "owner" : "hn",
+ "name" : "al",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__ao_377",
+ "owner" : "hn",
+ "name" : "ao",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(IS)V"
+ }, {
+ "method" : "__ad_378",
+ "owner" : "hn",
+ "name" : "ad",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__ax_379",
+ "owner" : "hn",
+ "name" : "ax",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lhl;I)I"
+ }, {
+ "method" : "__ak_380",
+ "owner" : "hn",
+ "name" : "ak",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lhl;I)I"
+ }, {
+ "method" : "__am_381",
+ "owner" : "hn",
+ "name" : "am",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lhl;I)I"
+ }, {
+ "method" : "__f_382",
+ "owner" : "hn",
+ "name" : "f",
+ "access" : 36,
+ "parameters" : [ ],
+ "descriptor" : "()Ldo;"
+ }, {
+ "method" : "__p_383",
+ "owner" : "hn",
+ "name" : "p",
+ "access" : 36,
+ "parameters" : [ ],
+ "descriptor" : "()Ldo;"
+ }, {
+ "method" : "__m_384",
+ "owner" : "hn",
+ "name" : "m",
+ "access" : 36,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ }, {
+ "method" : "__q_385",
+ "owner" : "hn",
+ "name" : "q",
+ "access" : 36,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "([III)V"
+ }, {
+ "method" : "__n_386",
+ "owner" : "hn",
+ "name" : "n",
+ "access" : 36,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__bf_387",
+ "owner" : "hn",
+ "name" : "bf",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "__bo_388",
+ "owner" : "hn",
+ "name" : "bo",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lhl;I)Z"
+ }, {
+ "method" : "__be_389",
+ "owner" : "hn",
+ "name" : "be",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(Lhl;[IIII)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "MusicPatchNode",
+ "name" : "hl",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "patch",
+ "owner" : "hl",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lhc;"
+ }, {
+ "field" : "rawSound",
+ "owner" : "hl",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Lce;"
+ }, {
+ "field" : "stream",
+ "owner" : "hl",
+ "name" : "k",
+ "access" : 0,
+ "descriptor" : "Ldt;"
+ }, {
+ "field" : "__x",
+ "owner" : "hl",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lhu;"
+ }, {
+ "field" : "__a",
+ "owner" : "hl",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1522239135
+ }, {
+ "field" : "__b",
+ "owner" : "hl",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -214546419
+ }, {
+ "field" : "__e",
+ "owner" : "hl",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 995603801
+ }, {
+ "field" : "__f",
+ "owner" : "hl",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -229900307
+ }, {
+ "field" : "__h",
+ "owner" : "hl",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1013212729
+ }, {
+ "field" : "__l",
+ "owner" : "hl",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1858366799
+ }, {
+ "field" : "__m",
+ "owner" : "hl",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -906745587
+ }, {
+ "field" : "__n",
+ "owner" : "hl",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 2005278339
+ }, {
+ "field" : "__o",
+ "owner" : "hl",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1803037001
+ }, {
+ "field" : "__p",
+ "owner" : "hl",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2138249593
+ }, {
+ "field" : "__q",
+ "owner" : "hl",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -342704077
+ }, {
+ "field" : "__r",
+ "owner" : "hl",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1838662135
+ }, {
+ "field" : "__t",
+ "owner" : "hl",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 847034569
+ }, {
+ "field" : "__u",
+ "owner" : "hl",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 613974745
+ }, {
+ "field" : "__v",
+ "owner" : "hl",
+ "name" : "v",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1833312363
+ }, {
+ "field" : "__w",
+ "owner" : "hl",
+ "name" : "w",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1597518325
+ }, {
+ "field" : "__y",
+ "owner" : "hl",
+ "name" : "y",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1220200273
+ } ],
+ "methods" : [ {
+ "method" : "__a_390",
+ "owner" : "hl",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "MidiFileReader",
+ "name" : "hf",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "buffer",
+ "owner" : "hf",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lgx;"
+ }, {
+ "field" : "division",
+ "owner" : "hf",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "trackLengths",
+ "owner" : "hf",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "trackPositions",
+ "owner" : "hf",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "trackStarts",
+ "owner" : "hf",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__p",
+ "owner" : "hf",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "__f",
+ "owner" : "hf",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__q",
+ "owner" : "hf",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "J"
+ } ],
+ "methods" : [ {
+ "method" : "clear",
+ "owner" : "hf",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "getPrioritizedTrack",
+ "owner" : "hf",
+ "name" : "r",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ }, {
+ "method" : "gotoTrack",
+ "owner" : "hf",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ "trackId" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "isDone",
+ "owner" : "hf",
+ "name" : "t",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()Z"
+ }, {
+ "method" : "isReady",
+ "owner" : "hf",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()Z"
+ }, {
+ "method" : "markTrackPosition",
+ "owner" : "hf",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ "trackId" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "parse",
+ "owner" : "hf",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "midi" ],
+ "descriptor" : "([B)V"
+ }, {
+ "method" : "readMessage",
+ "owner" : "hf",
+ "name" : "q",
+ "access" : 0,
+ "parameters" : [ "trackId" ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "readMessage0",
+ "owner" : "hf",
+ "name" : "b",
+ "access" : 0,
+ "parameters" : [ "trackId" ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "readTrackLength",
+ "owner" : "hf",
+ "name" : "m",
+ "access" : 0,
+ "parameters" : [ "trackId" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "reset",
+ "owner" : "hf",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "(J)V"
+ }, {
+ "method" : "setTrackDone",
+ "owner" : "hf",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "trackCount",
+ "owner" : "hf",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ }, {
+ "method" : "__n_391",
+ "owner" : "hf",
+ "name" : "n",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(II)I"
+ }, {
+ "method" : "__e_392",
+ "owner" : "hf",
+ "name" : "e",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)J"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ }, {
+ "access" : 0,
+ "descriptor" : "([B)V"
+ } ]
+}, {
+ "class" : "MusicPatch",
+ "name" : "hc",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "rawSounds",
+ "owner" : "hc",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[Lce;"
+ }, {
+ "field" : "__h",
+ "owner" : "hc",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__p",
+ "owner" : "hc",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__x",
+ "owner" : "hc",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__f",
+ "owner" : "hc",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[Lhu;"
+ }, {
+ "field" : "__a",
+ "owner" : "hc",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1144080431
+ }, {
+ "field" : "__m",
+ "owner" : "hc",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__g",
+ "owner" : "hc",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "[S"
+ } ],
+ "methods" : [ {
+ "method" : "clear",
+ "owner" : "hc",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__a_393",
+ "owner" : "hc",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(Lds;[B[IB)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "([B)V"
+ } ]
+}, {
+ "class" : "MusicPatchPcmStream",
+ "name" : "hb",
+ "super" : "do",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "mixer",
+ "owner" : "hb",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Lcn;"
+ }, {
+ "field" : "queue",
+ "owner" : "hb",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Lhv;"
+ }, {
+ "field" : "superStream",
+ "owner" : "hb",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lhn;"
+ } ],
+ "methods" : [ {
+ "method" : "__f_394",
+ "owner" : "hb",
+ "name" : "f",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "()Ldo;"
+ }, {
+ "method" : "__p_395",
+ "owner" : "hb",
+ "name" : "p",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "()Ldo;"
+ }, {
+ "method" : "__m_396",
+ "owner" : "hb",
+ "name" : "m",
+ "access" : 4,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ }, {
+ "method" : "__q_397",
+ "owner" : "hb",
+ "name" : "q",
+ "access" : 4,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "([III)V"
+ }, {
+ "method" : "__n_398",
+ "owner" : "hb",
+ "name" : "n",
+ "access" : 4,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__a_399",
+ "owner" : "hb",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4" ],
+ "descriptor" : "(Lhl;[IIIII)V"
+ }, {
+ "method" : "__s_400",
+ "owner" : "hb",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lhl;II)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Lhn;)V"
+ } ]
+}, {
+ "class" : "MusicTrack",
+ "name" : "hx",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "midi",
+ "owner" : "hx",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "table",
+ "owner" : "hx",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Lht;"
+ } ],
+ "methods" : [ {
+ "method" : "clear",
+ "owner" : "hx",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__s_401",
+ "owner" : "hx",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Lgx;)V"
+ } ]
+}, {
+ "class" : "TileLocation",
+ "name" : "if",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "plane",
+ "owner" : "if",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 272303259
+ }, {
+ "field" : "x",
+ "owner" : "if",
+ "name" : "s",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -574898193
+ }, {
+ "field" : "y",
+ "owner" : "if",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 460058505
+ } ],
+ "methods" : [ {
+ "method" : "equals0",
+ "owner" : "if",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "other" ],
+ "descriptor" : "(Lif;I)Z"
+ }, {
+ "method" : "packed",
+ "owner" : "if",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "toString0",
+ "owner" : "if",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ "separator" ],
+ "descriptor" : "(Ljava/lang/String;B)Ljava/lang/String;"
+ }, {
+ "method" : "__equals_402",
+ "owner" : "if",
+ "name" : "equals",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Object;)Z"
+ }, {
+ "method" : "__hashCode_403",
+ "owner" : "if",
+ "name" : "hashCode",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ }, {
+ "method" : "__toString_404",
+ "owner" : "if",
+ "name" : "toString",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Ljava/lang/String;"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(III)V"
+ }, {
+ "access" : 1,
+ "descriptor" : "(Lif;)V"
+ }, {
+ "access" : 1,
+ "descriptor" : "(I)V"
+ } ]
+}, {
+ "class" : "PlayerAppearance",
+ "name" : "il",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "bodyColors",
+ "owner" : "il",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "equipment",
+ "owner" : "il",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "isFemale",
+ "owner" : "il",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "npcTransformId",
+ "owner" : "il",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1192982463
+ }, {
+ "field" : "__f",
+ "owner" : "il",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : -5550629652888001711
+ }, {
+ "field" : "__h",
+ "owner" : "il",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : -2050415532807345505
+ } ],
+ "methods" : [ {
+ "method" : "getChatHeadId",
+ "owner" : "il",
+ "name" : "q",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "getModel",
+ "owner" : "il",
+ "name" : "p",
+ "access" : 1,
+ "descriptor" : "(Lju;ILju;IB)Ldv;"
+ }, {
+ "method" : "getModelData",
+ "owner" : "il",
+ "name" : "m",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ldk;"
+ }, {
+ "method" : "__a_405",
+ "owner" : "il",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "([I[IZII)V"
+ }, {
+ "method" : "__s_406",
+ "owner" : "il",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(IZI)V"
+ }, {
+ "method" : "__g_407",
+ "owner" : "il",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(IZI)V"
+ }, {
+ "method" : "__x_408",
+ "owner" : "il",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(ZI)V"
+ }, {
+ "method" : "__h_409",
+ "owner" : "il",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "__f_410",
+ "owner" : "il",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Widget",
+ "name" : "ia",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "actions",
+ "owner" : "ia",
+ "name" : "dz",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "buttonText",
+ "owner" : "ia",
+ "name" : "ed",
+ "access" : 1,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "buttonType",
+ "owner" : "ia",
+ "name" : "d",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -986355207
+ }, {
+ "field" : "childIndex",
+ "owner" : "ia",
+ "name" : "k",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 519422761
+ }, {
+ "field" : "children",
+ "owner" : "ia",
+ "name" : "ec",
+ "access" : 1,
+ "descriptor" : "[Lia;"
+ }, {
+ "field" : "clickMask",
+ "owner" : "ia",
+ "name" : "cf",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -184106217
+ }, {
+ "field" : "color",
+ "owner" : "ia",
+ "name" : "aq",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1339085337
+ }, {
+ "field" : "color2",
+ "owner" : "ia",
+ "name" : "al",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1470098041
+ }, {
+ "field" : "contentType",
+ "owner" : "ia",
+ "name" : "w",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1559194133
+ }, {
+ "field" : "cs1ComparisonValues",
+ "owner" : "ia",
+ "name" : "ej",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "cs1Comparisons",
+ "owner" : "ia",
+ "name" : "ez",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "cs1Instructions",
+ "owner" : "ia",
+ "name" : "ex",
+ "access" : 1,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "cycle",
+ "owner" : "ia",
+ "name" : "fm",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 413573757
+ }, {
+ "field" : "dataText",
+ "owner" : "ia",
+ "name" : "cl",
+ "access" : 1,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "dragThreshold",
+ "owner" : "ia",
+ "name" : "dl",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 861361223
+ }, {
+ "field" : "dragZoneSize",
+ "owner" : "ia",
+ "name" : "dg",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -808787693
+ }, {
+ "field" : "fill",
+ "owner" : "ia",
+ "name" : "ao",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "fontId",
+ "owner" : "ia",
+ "name" : "bm",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -705998701
+ }, {
+ "field" : "hasListener",
+ "owner" : "ia",
+ "name" : "dt",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "height",
+ "owner" : "ia",
+ "name" : "an",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1657907411
+ }, {
+ "field" : "heightAlignment",
+ "owner" : "ia",
+ "name" : "z",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1817591765
+ }, {
+ "field" : "id",
+ "owner" : "ia",
+ "name" : "y",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 521895283
+ }, {
+ "field" : "invTransmitTriggers",
+ "owner" : "ia",
+ "name" : "dv",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "inventorySprites",
+ "owner" : "ia",
+ "name" : "cd",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "inventoryXOffsets",
+ "owner" : "ia",
+ "name" : "cb",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "inventoryYOffsets",
+ "owner" : "ia",
+ "name" : "cp",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "isHidden",
+ "owner" : "ia",
+ "name" : "au",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isIf3",
+ "owner" : "ia",
+ "name" : "u",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isScrollBar",
+ "owner" : "ia",
+ "name" : "dq",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "itemActions",
+ "owner" : "ia",
+ "name" : "cq",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "itemId",
+ "owner" : "ia",
+ "name" : "el",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 517430305
+ }, {
+ "field" : "itemIds",
+ "owner" : "ia",
+ "name" : "ey",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "itemQuantities",
+ "owner" : "ia",
+ "name" : "ee",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "itemQuantity",
+ "owner" : "ia",
+ "name" : "eq",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 384592949
+ }, {
+ "field" : "lineWid",
+ "owner" : "ia",
+ "name" : "ak",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -211922531
+ }, {
+ "field" : "modelAngleX",
+ "owner" : "ia",
+ "name" : "bj",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1384877877
+ }, {
+ "field" : "modelAngleY",
+ "owner" : "ia",
+ "name" : "bq",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 2013691035
+ }, {
+ "field" : "modelAngleZ",
+ "owner" : "ia",
+ "name" : "by",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 141904677
+ }, {
+ "field" : "modelFrame",
+ "owner" : "ia",
+ "name" : "eu",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1113155467
+ }, {
+ "field" : "modelFrameCycle",
+ "owner" : "ia",
+ "name" : "eh",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 367712227
+ }, {
+ "field" : "modelId",
+ "owner" : "ia",
+ "name" : "bk",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -286899879
+ }, {
+ "field" : "modelId2",
+ "owner" : "ia",
+ "name" : "bn",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1240377769
+ }, {
+ "field" : "modelOffsetX",
+ "owner" : "ia",
+ "name" : "bw",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1264010429
+ }, {
+ "field" : "modelOffsetY",
+ "owner" : "ia",
+ "name" : "bh",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1955454009
+ }, {
+ "field" : "modelOrthog",
+ "owner" : "ia",
+ "name" : "bs",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "modelType",
+ "owner" : "ia",
+ "name" : "bg",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1805175817
+ }, {
+ "field" : "modelType2",
+ "owner" : "ia",
+ "name" : "br",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 648741915
+ }, {
+ "field" : "modelZoom",
+ "owner" : "ia",
+ "name" : "bu",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1903872069
+ }, {
+ "field" : "mouseOverColor",
+ "owner" : "ia",
+ "name" : "az",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 2049378189
+ }, {
+ "field" : "mouseOverColor2",
+ "owner" : "ia",
+ "name" : "ac",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1321898327
+ }, {
+ "field" : "mouseOverRedirect",
+ "owner" : "ia",
+ "name" : "eg",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -924150949
+ }, {
+ "field" : "noClickThrough",
+ "owner" : "ia",
+ "name" : "fq",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "onClick",
+ "owner" : "ia",
+ "name" : "do",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onClickRepeat",
+ "owner" : "ia",
+ "name" : "dd",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onDrag",
+ "owner" : "ia",
+ "name" : "dy",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onDragComplete",
+ "owner" : "ia",
+ "name" : "dk",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onHold",
+ "owner" : "ia",
+ "name" : "dj",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onInvTransmit",
+ "owner" : "ia",
+ "name" : "de",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onLoad",
+ "owner" : "ia",
+ "name" : "dr",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onMouseLeave",
+ "owner" : "ia",
+ "name" : "du",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onMouseOver",
+ "owner" : "ia",
+ "name" : "dx",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onMouseRepeat",
+ "owner" : "ia",
+ "name" : "da",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onOp",
+ "owner" : "ia",
+ "name" : "eb",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onRelease",
+ "owner" : "ia",
+ "name" : "dc",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onScroll",
+ "owner" : "ia",
+ "name" : "ev",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onStatTransmit",
+ "owner" : "ia",
+ "name" : "di",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onTargetEnter",
+ "owner" : "ia",
+ "name" : "dh",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onTargetLeave",
+ "owner" : "ia",
+ "name" : "dw",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onTimer",
+ "owner" : "ia",
+ "name" : "df",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "onVarTransmit",
+ "owner" : "ia",
+ "name" : "db",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "outline",
+ "owner" : "ia",
+ "name" : "bz",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 583207351
+ }, {
+ "field" : "paddingX",
+ "owner" : "ia",
+ "name" : "cc",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1147674915
+ }, {
+ "field" : "paddingY",
+ "owner" : "ia",
+ "name" : "ct",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1183417793
+ }, {
+ "field" : "parent",
+ "owner" : "ia",
+ "name" : "ds",
+ "access" : 1,
+ "descriptor" : "Lia;"
+ }, {
+ "field" : "parentId",
+ "owner" : "ia",
+ "name" : "av",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -282758011
+ }, {
+ "field" : "rawHeight",
+ "owner" : "ia",
+ "name" : "aa",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1348302953
+ }, {
+ "field" : "rawWidth",
+ "owner" : "ia",
+ "name" : "ay",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -751500435
+ }, {
+ "field" : "rawX",
+ "owner" : "ia",
+ "name" : "ag",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -46278607
+ }, {
+ "field" : "rawY",
+ "owner" : "ia",
+ "name" : "af",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1313502419
+ }, {
+ "field" : "rectangleMode",
+ "owner" : "ia",
+ "name" : "ad",
+ "access" : 1,
+ "descriptor" : "Llp;"
+ }, {
+ "field" : "rootIndex",
+ "owner" : "ia",
+ "name" : "fo",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1945546151
+ }, {
+ "field" : "scrollHeight",
+ "owner" : "ia",
+ "name" : "ai",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1584805923
+ }, {
+ "field" : "scrollWidth",
+ "owner" : "ia",
+ "name" : "ar",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -2136776307
+ }, {
+ "field" : "scrollX",
+ "owner" : "ia",
+ "name" : "aj",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1841640021
+ }, {
+ "field" : "scrollY",
+ "owner" : "ia",
+ "name" : "as",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1345120769
+ }, {
+ "field" : "sequenceId",
+ "owner" : "ia",
+ "name" : "bl",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1459062589
+ }, {
+ "field" : "sequenceId2",
+ "owner" : "ia",
+ "name" : "bb",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1049312937
+ }, {
+ "field" : "spellActionName",
+ "owner" : "ia",
+ "name" : "dn",
+ "access" : 1,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "spellName",
+ "owner" : "ia",
+ "name" : "ea",
+ "access" : 1,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "spriteAngle",
+ "owner" : "ia",
+ "name" : "be",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1728858633
+ }, {
+ "field" : "spriteFlipH",
+ "owner" : "ia",
+ "name" : "bp",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "spriteFlipV",
+ "owner" : "ia",
+ "name" : "bv",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "spriteId",
+ "owner" : "ia",
+ "name" : "bo",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -159703791
+ }, {
+ "field" : "spriteId2",
+ "owner" : "ia",
+ "name" : "bf",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -803778329
+ }, {
+ "field" : "spriteShadow",
+ "owner" : "ia",
+ "name" : "bi",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1826249299
+ }, {
+ "field" : "spriteTiling",
+ "owner" : "ia",
+ "name" : "bd",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "statTransmitTriggers",
+ "owner" : "ia",
+ "name" : "dp",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "text",
+ "owner" : "ia",
+ "name" : "cm",
+ "access" : 1,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "text2",
+ "owner" : "ia",
+ "name" : "ch",
+ "access" : 1,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "textLineHeight",
+ "owner" : "ia",
+ "name" : "cg",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -783980927
+ }, {
+ "field" : "textShadowed",
+ "owner" : "ia",
+ "name" : "cx",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "textXAlignment",
+ "owner" : "ia",
+ "name" : "ca",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1454280795
+ }, {
+ "field" : "textYAlignment",
+ "owner" : "ia",
+ "name" : "cy",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -160947907
+ }, {
+ "field" : "transparency",
+ "owner" : "ia",
+ "name" : "ax",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1943802113
+ }, {
+ "field" : "type",
+ "owner" : "ia",
+ "name" : "v",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 2135617197
+ }, {
+ "field" : "varTransmitTriggers",
+ "owner" : "ia",
+ "name" : "dm",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "width",
+ "owner" : "ia",
+ "name" : "aw",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -670001097
+ }, {
+ "field" : "widthAlignment",
+ "owner" : "ia",
+ "name" : "j",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1413953597
+ }, {
+ "field" : "x",
+ "owner" : "ia",
+ "name" : "ab",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1653418885
+ }, {
+ "field" : "xAlignment",
+ "owner" : "ia",
+ "name" : "i",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1119875119
+ }, {
+ "field" : "y",
+ "owner" : "ia",
+ "name" : "ah",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -659621809
+ }, {
+ "field" : "yAlignment",
+ "owner" : "ia",
+ "name" : "c",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 79006091
+ }, {
+ "field" : "__am",
+ "owner" : "ia",
+ "name" : "am",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__bx",
+ "owner" : "ia",
+ "name" : "bx",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__cs",
+ "owner" : "ia",
+ "name" : "cs",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__et",
+ "owner" : "ia",
+ "name" : "et",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__fd",
+ "owner" : "ia",
+ "name" : "fd",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__fp",
+ "owner" : "ia",
+ "name" : "fp",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__fz",
+ "owner" : "ia",
+ "name" : "fz",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__cn",
+ "owner" : "ia",
+ "name" : "cn",
+ "access" : 1,
+ "descriptor" : "[[B"
+ }, {
+ "field" : "__cw",
+ "owner" : "ia",
+ "name" : "cw",
+ "access" : 1,
+ "descriptor" : "[[B"
+ }, {
+ "field" : "__ae",
+ "owner" : "ia",
+ "name" : "ae",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1603514911
+ }, {
+ "field" : "__ap",
+ "owner" : "ia",
+ "name" : "ap",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1329302643
+ }, {
+ "field" : "__at",
+ "owner" : "ia",
+ "name" : "at",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 324112871
+ }, {
+ "field" : "__ba",
+ "owner" : "ia",
+ "name" : "ba",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -768418655
+ }, {
+ "field" : "__bc",
+ "owner" : "ia",
+ "name" : "bc",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 303174329
+ }, {
+ "field" : "__bt",
+ "owner" : "ia",
+ "name" : "bt",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -82311635
+ }, {
+ "field" : "__fe",
+ "owner" : "ia",
+ "name" : "fe",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -244573369
+ }, {
+ "field" : "__fg",
+ "owner" : "ia",
+ "name" : "fg",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1772559523
+ }, {
+ "field" : "__fj",
+ "owner" : "ia",
+ "name" : "fj",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1835158917
+ }, {
+ "field" : "__fn",
+ "owner" : "ia",
+ "name" : "fn",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1728331147
+ }, {
+ "field" : "__cu",
+ "owner" : "ia",
+ "name" : "cu",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__cv",
+ "owner" : "ia",
+ "name" : "cv",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ff",
+ "owner" : "ia",
+ "name" : "ff",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ef",
+ "owner" : "ia",
+ "name" : "ef",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "__ei",
+ "owner" : "ia",
+ "name" : "ei",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "__ek",
+ "owner" : "ia",
+ "name" : "ek",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "__em",
+ "owner" : "ia",
+ "name" : "em",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "__en",
+ "owner" : "ia",
+ "name" : "en",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "__eo",
+ "owner" : "ia",
+ "name" : "eo",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "__ep",
+ "owner" : "ia",
+ "name" : "ep",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "__er",
+ "owner" : "ia",
+ "name" : "er",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "__es",
+ "owner" : "ia",
+ "name" : "es",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "__ew",
+ "owner" : "ia",
+ "name" : "ew",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/Object;"
+ } ],
+ "methods" : [ {
+ "method" : "decode",
+ "owner" : "ia",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ "buffer" ],
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "decodeLegacy",
+ "owner" : "ia",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ "buffer" ],
+ "descriptor" : "(Lgx;I)V"
+ }, {
+ "method" : "getFont",
+ "owner" : "ia",
+ "name" : "n",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lkt;"
+ }, {
+ "method" : "getInventorySprite",
+ "owner" : "ia",
+ "name" : "e",
+ "access" : 1,
+ "descriptor" : "(IB)Lld;"
+ }, {
+ "method" : "getModel",
+ "owner" : "ia",
+ "name" : "r",
+ "access" : 1,
+ "parameters" : [ "sequence", "frame", "b", "appearance" ],
+ "descriptor" : "(Lju;IZLil;B)Ldv;"
+ }, {
+ "method" : "getSprite",
+ "owner" : "ia",
+ "name" : "b",
+ "access" : 1,
+ "parameters" : [ "b" ],
+ "descriptor" : "(ZB)Lld;"
+ }, {
+ "method" : "getSpriteMask",
+ "owner" : "ia",
+ "name" : "t",
+ "access" : 1,
+ "parameters" : [ "b" ],
+ "descriptor" : "(ZI)Lhk;"
+ }, {
+ "method" : "readListener",
+ "owner" : "ia",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ "buffer" ],
+ "descriptor" : "(Lgx;I)[Ljava/lang/Object;"
+ }, {
+ "method" : "readListenerTriggers",
+ "owner" : "ia",
+ "name" : "m",
+ "access" : 0,
+ "parameters" : [ "buffer" ],
+ "descriptor" : "(Lgx;B)[I"
+ }, {
+ "method" : "setAction",
+ "owner" : "ia",
+ "name" : "o",
+ "access" : 1,
+ "parameters" : [ "index", "s" ],
+ "descriptor" : "(ILjava/lang/String;I)V"
+ }, {
+ "method" : "swapItems",
+ "owner" : "ia",
+ "name" : "q",
+ "access" : 1,
+ "parameters" : [ "indexA", "indexB" ],
+ "descriptor" : "(III)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "PlayerType",
+ "name" : "is",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "gr" ],
+ "fields" : [ {
+ "field" : "id",
+ "owner" : "is",
+ "name" : "p",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : 1798871115
+ }, {
+ "field" : "isPrivileged",
+ "owner" : "is",
+ "name" : "q",
+ "access" : 17,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isUser",
+ "owner" : "is",
+ "name" : "b",
+ "access" : 17,
+ "descriptor" : "Z"
+ }, {
+ "field" : "modIcon",
+ "owner" : "is",
+ "name" : "m",
+ "access" : 17,
+ "descriptor" : "I",
+ "decoder" : 1132360445
+ } ],
+ "methods" : [ {
+ "method" : "__x_411",
+ "owner" : "is",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(IIZZZ)V"
+ } ]
+}, {
+ "class" : "AbstractIndexCache",
+ "name" : "iz",
+ "super" : "java.lang.Object",
+ "access" : 1057,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "archiveCount",
+ "owner" : "iz",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 109040445
+ }, {
+ "field" : "archiveCrcs",
+ "owner" : "iz",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "archiveIds",
+ "owner" : "iz",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "archiveNameHashTable",
+ "owner" : "iz",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "Lgt;"
+ }, {
+ "field" : "archiveNameHashes",
+ "owner" : "iz",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "archiveVersions",
+ "owner" : "iz",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "archives",
+ "owner" : "iz",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "[Ljava/lang/Object;"
+ }, {
+ "field" : "hash",
+ "owner" : "iz",
+ "name" : "l",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -2112807423
+ }, {
+ "field" : "recordCounts",
+ "owner" : "iz",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "recordIds",
+ "owner" : "iz",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "recordNameHashTables",
+ "owner" : "iz",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "[Lgt;"
+ }, {
+ "field" : "recordNameHashes",
+ "owner" : "iz",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "records",
+ "owner" : "iz",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "[[Ljava/lang/Object;"
+ }, {
+ "field" : "releaseArchives",
+ "owner" : "iz",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "shallowRecords",
+ "owner" : "iz",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "archiveLoadPercent",
+ "owner" : "iz",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "(II)I"
+ }, {
+ "method" : "archiveLoadPercentByName",
+ "owner" : "iz",
+ "name" : "ae",
+ "access" : 1,
+ "parameters" : [ "archiveName" ],
+ "descriptor" : "(Ljava/lang/String;B)I"
+ }, {
+ "method" : "buildRecords",
+ "owner" : "iz",
+ "name" : "v",
+ "access" : 0,
+ "parameters" : [ "archive", "xteaKey" ],
+ "descriptor" : "(I[II)Z"
+ }, {
+ "method" : "getArchiveId",
+ "owner" : "iz",
+ "name" : "c",
+ "access" : 1,
+ "parameters" : [ "archiveName" ],
+ "descriptor" : "(Ljava/lang/String;I)I"
+ }, {
+ "method" : "getRecord",
+ "owner" : "iz",
+ "name" : "n",
+ "access" : 1,
+ "parameters" : [ "archive", "record" ],
+ "descriptor" : "(III)[B"
+ }, {
+ "method" : "getRecordFlat",
+ "owner" : "iz",
+ "name" : "e",
+ "access" : 1,
+ "parameters" : [ "archiveOrRecord" ],
+ "descriptor" : "(II)[B"
+ }, {
+ "method" : "getRecordId",
+ "owner" : "iz",
+ "name" : "aa",
+ "access" : 1,
+ "parameters" : [ "archiveId", "recordName" ],
+ "descriptor" : "(ILjava/lang/String;I)I"
+ }, {
+ "method" : "loadArchive",
+ "owner" : "iz",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "(IB)V"
+ }, {
+ "method" : "setIndexReference",
+ "owner" : "iz",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "([BB)V"
+ }, {
+ "method" : "takeRecord",
+ "owner" : "iz",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "archive", "record" ],
+ "descriptor" : "(III)[B"
+ }, {
+ "method" : "takeRecordByNames",
+ "owner" : "iz",
+ "name" : "ah",
+ "access" : 1,
+ "parameters" : [ "archiveName", "recordName" ],
+ "descriptor" : "(Ljava/lang/String;Ljava/lang/String;I)[B"
+ }, {
+ "method" : "takeRecordEncrypted",
+ "owner" : "iz",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ "archive", "record", "xteaKey" ],
+ "descriptor" : "(II[II)[B"
+ }, {
+ "method" : "takeRecordFlat",
+ "owner" : "iz",
+ "name" : "b",
+ "access" : 1,
+ "parameters" : [ "archiveOrRecord" ],
+ "descriptor" : "(II)[B"
+ }, {
+ "method" : "tryLoadArchive",
+ "owner" : "iz",
+ "name" : "p",
+ "access" : 1,
+ "parameters" : [ "archive" ],
+ "descriptor" : "(II)Z"
+ }, {
+ "method" : "tryLoadArchiveByName",
+ "owner" : "iz",
+ "name" : "an",
+ "access" : 1,
+ "parameters" : [ "archiveName" ],
+ "descriptor" : "(Ljava/lang/String;B)Z"
+ }, {
+ "method" : "tryLoadRecord",
+ "owner" : "iz",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "archive", "record" ],
+ "descriptor" : "(IIB)Z"
+ }, {
+ "method" : "tryLoadRecordByNames",
+ "owner" : "iz",
+ "name" : "aw",
+ "access" : 1,
+ "parameters" : [ "archiveName", "recordName" ],
+ "descriptor" : "(Ljava/lang/String;Ljava/lang/String;I)Z"
+ }, {
+ "method" : "__s_412",
+ "owner" : "iz",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__f_413",
+ "owner" : "iz",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)Z"
+ }, {
+ "method" : "__m_414",
+ "owner" : "iz",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__t_415",
+ "owner" : "iz",
+ "name" : "t",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)[I"
+ }, {
+ "method" : "__l_416",
+ "owner" : "iz",
+ "name" : "l",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)I"
+ }, {
+ "method" : "__o_417",
+ "owner" : "iz",
+ "name" : "o",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__u_418",
+ "owner" : "iz",
+ "name" : "u",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__y_419",
+ "owner" : "iz",
+ "name" : "y",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(IB)V"
+ }, {
+ "method" : "__k_420",
+ "owner" : "iz",
+ "name" : "k",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__ab_421",
+ "owner" : "iz",
+ "name" : "ab",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/lang/String;Ljava/lang/String;I)Z"
+ }, {
+ "method" : "__at_422",
+ "owner" : "iz",
+ "name" : "at",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/String;I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(ZZ)V"
+ } ]
+}, {
+ "class" : "IndexStoreActionHandler",
+ "name" : "id",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.lang.Runnable" ],
+ "fields" : [ ],
+ "methods" : [ {
+ "method" : "__run_423",
+ "owner" : "id",
+ "name" : "run",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "IndexCache",
+ "name" : "in",
+ "super" : "iz",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "index",
+ "owner" : "in",
+ "name" : "j",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 797557679
+ }, {
+ "field" : "indexReferenceCrc",
+ "owner" : "in",
+ "name" : "aa",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1050514093
+ }, {
+ "field" : "indexReferenceVersion",
+ "owner" : "in",
+ "name" : "ab",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1797201163
+ }, {
+ "field" : "indexStore",
+ "owner" : "in",
+ "name" : "i",
+ "access" : 0,
+ "descriptor" : "Lfb;"
+ }, {
+ "field" : "referenceStore",
+ "owner" : "in",
+ "name" : "c",
+ "access" : 0,
+ "descriptor" : "Lfb;"
+ }, {
+ "field" : "validArchives",
+ "owner" : "in",
+ "name" : "af",
+ "access" : 64,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "__ag",
+ "owner" : "in",
+ "name" : "ag",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__ah",
+ "owner" : "in",
+ "name" : "ah",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -202943581
+ }, {
+ "field" : "__z",
+ "owner" : "in",
+ "name" : "z",
+ "access" : 64,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "archiveLoadPercent",
+ "owner" : "in",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "(II)I"
+ }, {
+ "method" : "load",
+ "owner" : "in",
+ "name" : "dg",
+ "access" : 0,
+ "descriptor" : "(Lfb;I[BZB)V"
+ }, {
+ "method" : "loadAllLocal",
+ "owner" : "in",
+ "name" : "dl",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "loadArchive",
+ "owner" : "in",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "(IB)V"
+ }, {
+ "method" : "loadIndexReference",
+ "owner" : "in",
+ "name" : "dz",
+ "access" : 1,
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "loadPercent",
+ "owner" : "in",
+ "name" : "dt",
+ "access" : 1,
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "write",
+ "owner" : "in",
+ "name" : "ds",
+ "access" : 1,
+ "descriptor" : "(I[BZZI)V"
+ }, {
+ "method" : "__cz_424",
+ "owner" : "in",
+ "name" : "cz",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__cl_425",
+ "owner" : "in",
+ "name" : "cl",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__s_426",
+ "owner" : "in",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__dq_427",
+ "owner" : "in",
+ "name" : "dq",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)Z"
+ }, {
+ "method" : "__dn_428",
+ "owner" : "in",
+ "name" : "dn",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Lfb;Lfb;IZZZ)V"
+ } ]
+}, {
+ "class" : "WorldMapElement",
+ "name" : "jd",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "category",
+ "owner" : "jd",
+ "name" : "i",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -837808071
+ }, {
+ "field" : "sprite1",
+ "owner" : "jd",
+ "name" : "f",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 829605459
+ }, {
+ "field" : "sprite2",
+ "owner" : "jd",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 516650577
+ }, {
+ "field" : "string1",
+ "owner" : "jd",
+ "name" : "r",
+ "access" : 1,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "strings",
+ "owner" : "jd",
+ "name" : "e",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "textSize",
+ "owner" : "jd",
+ "name" : "b",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1928126979
+ }, {
+ "field" : "__w",
+ "owner" : "jd",
+ "name" : "w",
+ "access" : 0,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__l",
+ "owner" : "jd",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1866925643
+ }, {
+ "field" : "__o",
+ "owner" : "jd",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1929248031
+ }, {
+ "field" : "__u",
+ "owner" : "jd",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 149117509
+ }, {
+ "field" : "__y",
+ "owner" : "jd",
+ "name" : "y",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1665691375
+ }, {
+ "field" : "__d",
+ "owner" : "jd",
+ "name" : "d",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__t",
+ "owner" : "jd",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__q",
+ "owner" : "jd",
+ "name" : "q",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1752028429
+ }, {
+ "field" : "__m",
+ "owner" : "jd",
+ "name" : "m",
+ "access" : 1,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__h",
+ "owner" : "jd",
+ "name" : "h",
+ "access" : 17,
+ "descriptor" : "I",
+ "decoder" : -1736910617
+ } ],
+ "methods" : [ {
+ "method" : "getSprite",
+ "owner" : "jd",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ "b" ],
+ "descriptor" : "(ZI)Lld;"
+ }, {
+ "method" : "getSprite0",
+ "owner" : "jd",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ "id" ],
+ "descriptor" : "(II)Lld;"
+ }, {
+ "method" : "read",
+ "owner" : "jd",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ "buffer" ],
+ "descriptor" : "(Lgx;I)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "jd",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ "buffer", "opcode" ],
+ "descriptor" : "(Lgx;II)V"
+ }, {
+ "method" : "__h_429",
+ "owner" : "jd",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__m_430",
+ "owner" : "jd",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(I)V"
+ } ]
+}, {
+ "class" : "VarcInt",
+ "name" : "jl",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "persist",
+ "owner" : "jl",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "__a_431",
+ "owner" : "jl",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "__s_432",
+ "owner" : "jl",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lgx;II)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "SpotAnimationDefinition",
+ "name" : "jh",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "archive",
+ "owner" : "jh",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 19920877
+ }, {
+ "field" : "heightScale",
+ "owner" : "jh",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 188811895
+ }, {
+ "field" : "id",
+ "owner" : "jh",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 63283905
+ }, {
+ "field" : "orientation",
+ "owner" : "jh",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1674463065
+ }, {
+ "field" : "recolorFrom",
+ "owner" : "jh",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "recolorTo",
+ "owner" : "jh",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "retextureFrom",
+ "owner" : "jh",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "retextureTo",
+ "owner" : "jh",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "sequence",
+ "owner" : "jh",
+ "name" : "p",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 2704803
+ }, {
+ "field" : "widthScale",
+ "owner" : "jh",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1468698369
+ }, {
+ "field" : "__l",
+ "owner" : "jh",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 577867669
+ }, {
+ "field" : "__o",
+ "owner" : "jh",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1177990595
+ } ],
+ "methods" : [ {
+ "method" : "getModel",
+ "owner" : "jh",
+ "name" : "h",
+ "access" : 17,
+ "descriptor" : "(IB)Ldv;"
+ }, {
+ "method" : "read",
+ "owner" : "jh",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ "buffer" ],
+ "descriptor" : "(Lgx;I)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "jh",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ "buffer", "n" ],
+ "descriptor" : "(Lgx;II)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "KitDefinition",
+ "name" : "jx",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "archives",
+ "owner" : "jx",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "recolorFrom",
+ "owner" : "jx",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "recolorTo",
+ "owner" : "jx",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "retextureFrom",
+ "owner" : "jx",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "retextureTo",
+ "owner" : "jx",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "__f",
+ "owner" : "jx",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__e",
+ "owner" : "jx",
+ "name" : "e",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__h",
+ "owner" : "jx",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 415172277
+ } ],
+ "methods" : [ {
+ "method" : "read",
+ "owner" : "jx",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "jx",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "(Lgx;IB)V"
+ }, {
+ "method" : "__h_433",
+ "owner" : "jx",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__f_434",
+ "owner" : "jx",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)Ldk;"
+ }, {
+ "method" : "__p_435",
+ "owner" : "jx",
+ "name" : "p",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__m_436",
+ "owner" : "jx",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ldk;"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "HealthBarDefinition",
+ "name" : "jp",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "int1",
+ "owner" : "jp",
+ "name" : "m",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -128708993
+ }, {
+ "field" : "int2",
+ "owner" : "jp",
+ "name" : "q",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 84424049
+ }, {
+ "field" : "int3",
+ "owner" : "jp",
+ "name" : "b",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1298817893
+ }, {
+ "field" : "int4",
+ "owner" : "jp",
+ "name" : "n",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -121711597
+ }, {
+ "field" : "int5",
+ "owner" : "jp",
+ "name" : "e",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 372450145
+ }, {
+ "field" : "spriteId1",
+ "owner" : "jp",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1679460201
+ }, {
+ "field" : "spriteId2",
+ "owner" : "jp",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1333320733
+ }, {
+ "field" : "width",
+ "owner" : "jp",
+ "name" : "l",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -837920445
+ }, {
+ "field" : "widthPadding",
+ "owner" : "jp",
+ "name" : "o",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1473541421
+ }, {
+ "field" : "__h",
+ "owner" : "jp",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -597048601
+ } ],
+ "methods" : [ {
+ "method" : "getSprite1",
+ "owner" : "jp",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)Lld;"
+ }, {
+ "method" : "getSprite2",
+ "owner" : "jp",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lld;"
+ }, {
+ "method" : "read",
+ "owner" : "jp",
+ "name" : "s",
+ "access" : 1,
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "jp",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "(Lgx;II)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "HitSplatDefinition",
+ "name" : "je",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "fontId",
+ "owner" : "je",
+ "name" : "e",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 2140896517
+ }, {
+ "field" : "transformVarbit",
+ "owner" : "je",
+ "name" : "z",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1219180571
+ }, {
+ "field" : "transformVarp",
+ "owner" : "je",
+ "name" : "ag",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 324000633
+ }, {
+ "field" : "transforms",
+ "owner" : "je",
+ "name" : "j",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__l",
+ "owner" : "je",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1098348433
+ }, {
+ "field" : "__o",
+ "owner" : "je",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -352581087
+ }, {
+ "field" : "__u",
+ "owner" : "je",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 631099461
+ }, {
+ "field" : "__y",
+ "owner" : "je",
+ "name" : "y",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1180576785
+ }, {
+ "field" : "__w",
+ "owner" : "je",
+ "name" : "w",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__c",
+ "owner" : "je",
+ "name" : "c",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 121552627
+ }, {
+ "field" : "__d",
+ "owner" : "je",
+ "name" : "d",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 235856813
+ }, {
+ "field" : "__i",
+ "owner" : "je",
+ "name" : "i",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 363980907
+ }, {
+ "field" : "__k",
+ "owner" : "je",
+ "name" : "k",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1459415255
+ }, {
+ "field" : "__r",
+ "owner" : "je",
+ "name" : "r",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1782291691
+ }, {
+ "field" : "__t",
+ "owner" : "je",
+ "name" : "t",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1999103551
+ }, {
+ "field" : "__v",
+ "owner" : "je",
+ "name" : "v",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1472476449
+ } ],
+ "methods" : [ {
+ "method" : "getFont",
+ "owner" : "je",
+ "name" : "b",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lkt;"
+ }, {
+ "method" : "getString",
+ "owner" : "je",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "n" ],
+ "descriptor" : "(IB)Ljava/lang/String;"
+ }, {
+ "method" : "read",
+ "owner" : "je",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "je",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "(Lgx;IB)V"
+ }, {
+ "method" : "transform",
+ "owner" : "je",
+ "name" : "x",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lje;"
+ }, {
+ "method" : "__f_437",
+ "owner" : "je",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)Lld;"
+ }, {
+ "method" : "__p_438",
+ "owner" : "je",
+ "name" : "p",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lld;"
+ }, {
+ "method" : "__m_439",
+ "owner" : "je",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lld;"
+ }, {
+ "method" : "__q_440",
+ "owner" : "je",
+ "name" : "q",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lld;"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "ObjectDefinition",
+ "name" : "jy",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "actions",
+ "owner" : "jy",
+ "name" : "ay",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "ambient",
+ "owner" : "jy",
+ "name" : "ag",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1132504335
+ }, {
+ "field" : "ambientSoundId",
+ "owner" : "jy",
+ "name" : "ac",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1427402837
+ }, {
+ "field" : "animationId",
+ "owner" : "jy",
+ "name" : "j",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -586981985
+ }, {
+ "field" : "boolean1",
+ "owner" : "jy",
+ "name" : "v",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "boolean2",
+ "owner" : "jy",
+ "name" : "as",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "clipType",
+ "owner" : "jy",
+ "name" : "w",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1193889627
+ }, {
+ "field" : "clipped",
+ "owner" : "jy",
+ "name" : "aw",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "contrast",
+ "owner" : "jy",
+ "name" : "af",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1124676007
+ }, {
+ "field" : "id",
+ "owner" : "jy",
+ "name" : "q",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 662598067
+ }, {
+ "field" : "int1",
+ "owner" : "jy",
+ "name" : "d",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1887157717
+ }, {
+ "field" : "int2",
+ "owner" : "jy",
+ "name" : "z",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1292740305
+ }, {
+ "field" : "int3",
+ "owner" : "jy",
+ "name" : "ai",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1647074679
+ }, {
+ "field" : "int4",
+ "owner" : "jy",
+ "name" : "ao",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1902178129
+ }, {
+ "field" : "int5",
+ "owner" : "jy",
+ "name" : "ad",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 2143235159
+ }, {
+ "field" : "int6",
+ "owner" : "jy",
+ "name" : "ax",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1314911205
+ }, {
+ "field" : "interactType",
+ "owner" : "jy",
+ "name" : "k",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -2128219559
+ }, {
+ "field" : "isRotated",
+ "owner" : "jy",
+ "name" : "ah",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isSolid",
+ "owner" : "jy",
+ "name" : "ar",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "mapIconId",
+ "owner" : "jy",
+ "name" : "aa",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -654726969
+ }, {
+ "field" : "mapSceneId",
+ "owner" : "jy",
+ "name" : "ab",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -274624611
+ }, {
+ "field" : "modelClipped",
+ "owner" : "jy",
+ "name" : "c",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "modelHeight",
+ "owner" : "jy",
+ "name" : "at",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1944211407
+ }, {
+ "field" : "modelSizeX",
+ "owner" : "jy",
+ "name" : "an",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 955355193
+ }, {
+ "field" : "modelSizeY",
+ "owner" : "jy",
+ "name" : "ae",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1771229497
+ }, {
+ "field" : "name",
+ "owner" : "jy",
+ "name" : "e",
+ "access" : 1,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "nonFlatShading",
+ "owner" : "jy",
+ "name" : "i",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "offsetHeight",
+ "owner" : "jy",
+ "name" : "au",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1709182887
+ }, {
+ "field" : "offsetX",
+ "owner" : "jy",
+ "name" : "av",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1101816219
+ }, {
+ "field" : "offsetY",
+ "owner" : "jy",
+ "name" : "aj",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1449724417
+ }, {
+ "field" : "params",
+ "owner" : "jy",
+ "name" : "ak",
+ "access" : 0,
+ "descriptor" : "Lgs;"
+ }, {
+ "field" : "recolorFrom",
+ "owner" : "jy",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "recolorTo",
+ "owner" : "jy",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "retextureFrom",
+ "owner" : "jy",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "retextureTo",
+ "owner" : "jy",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "sizeX",
+ "owner" : "jy",
+ "name" : "u",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1053188599
+ }, {
+ "field" : "sizeY",
+ "owner" : "jy",
+ "name" : "y",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -923948831
+ }, {
+ "field" : "transformConfigId",
+ "owner" : "jy",
+ "name" : "az",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -580402229
+ }, {
+ "field" : "transformVarbit",
+ "owner" : "jy",
+ "name" : "al",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1798582853
+ }, {
+ "field" : "transforms",
+ "owner" : "jy",
+ "name" : "aq",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__b",
+ "owner" : "jy",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__n",
+ "owner" : "jy",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ap",
+ "owner" : "jy",
+ "name" : "ap",
+ "access" : 1,
+ "descriptor" : "[I"
+ } ],
+ "methods" : [ {
+ "method" : "getIntParam",
+ "owner" : "jy",
+ "name" : "r",
+ "access" : 1,
+ "descriptor" : "(IIB)I"
+ }, {
+ "method" : "getModel",
+ "owner" : "jy",
+ "name" : "q",
+ "access" : 17,
+ "descriptor" : "(II[[IIIIB)Ldv;"
+ }, {
+ "method" : "getModelData",
+ "owner" : "jy",
+ "name" : "n",
+ "access" : 16,
+ "parameters" : [ "n", "m" ],
+ "descriptor" : "(III)Ldk;"
+ }, {
+ "method" : "getModelDynamic",
+ "owner" : "jy",
+ "name" : "b",
+ "access" : 17,
+ "descriptor" : "(II[[IIIILju;II)Ldv;"
+ }, {
+ "method" : "getStringParam",
+ "owner" : "jy",
+ "name" : "t",
+ "access" : 1,
+ "descriptor" : "(ILjava/lang/String;I)Ljava/lang/String;"
+ }, {
+ "method" : "init",
+ "owner" : "jy",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(S)V"
+ }, {
+ "method" : "read",
+ "owner" : "jy",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "(Lgx;I)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "jy",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "(Lgx;II)V"
+ }, {
+ "method" : "transform",
+ "owner" : "jy",
+ "name" : "e",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ljy;"
+ }, {
+ "method" : "__f_441",
+ "owner" : "jy",
+ "name" : "f",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)Z"
+ }, {
+ "method" : "__p_442",
+ "owner" : "jy",
+ "name" : "p",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(B)Z"
+ }, {
+ "method" : "__m_443",
+ "owner" : "jy",
+ "name" : "m",
+ "access" : 17,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5" ],
+ "descriptor" : "(II[[IIIII)Lem;"
+ }, {
+ "method" : "__l_444",
+ "owner" : "jy",
+ "name" : "l",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "ItemDefinition",
+ "name" : "jc",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "ambient",
+ "owner" : "jc",
+ "name" : "bf",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1783276773
+ }, {
+ "field" : "contrast",
+ "owner" : "jc",
+ "name" : "bo",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1538235913
+ }, {
+ "field" : "femaleHeadModel",
+ "owner" : "jc",
+ "name" : "al",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1946712565
+ }, {
+ "field" : "femaleHeadModel2",
+ "owner" : "jc",
+ "name" : "az",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 81686335
+ }, {
+ "field" : "femaleModel",
+ "owner" : "jc",
+ "name" : "av",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -796459901
+ }, {
+ "field" : "femaleModel1",
+ "owner" : "jc",
+ "name" : "au",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -515749673
+ }, {
+ "field" : "femaleModel2",
+ "owner" : "jc",
+ "name" : "ar",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 953273737
+ }, {
+ "field" : "femaleOffset",
+ "owner" : "jc",
+ "name" : "aj",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -410003891
+ }, {
+ "field" : "groundActions",
+ "owner" : "jc",
+ "name" : "aa",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "id",
+ "owner" : "jc",
+ "name" : "t",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1567373911
+ }, {
+ "field" : "int1",
+ "owner" : "jc",
+ "name" : "be",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1461842305
+ }, {
+ "field" : "inventoryActions",
+ "owner" : "jc",
+ "name" : "ab",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "isMembersOnly",
+ "owner" : "jc",
+ "name" : "ay",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isStackable",
+ "owner" : "jc",
+ "name" : "ag",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1014870201
+ }, {
+ "field" : "isTradable",
+ "owner" : "jc",
+ "name" : "bz",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "maleHeadModel",
+ "owner" : "jc",
+ "name" : "ai",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1147738563
+ }, {
+ "field" : "maleHeadModel2",
+ "owner" : "jc",
+ "name" : "aq",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -77129911
+ }, {
+ "field" : "maleModel",
+ "owner" : "jc",
+ "name" : "an",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 738599493
+ }, {
+ "field" : "maleModel1",
+ "owner" : "jc",
+ "name" : "at",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1393904297
+ }, {
+ "field" : "maleModel2",
+ "owner" : "jc",
+ "name" : "as",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -581420823
+ }, {
+ "field" : "maleOffset",
+ "owner" : "jc",
+ "name" : "ae",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -522053309
+ }, {
+ "field" : "name",
+ "owner" : "jc",
+ "name" : "o",
+ "access" : 1,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "note",
+ "owner" : "jc",
+ "name" : "ad",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1652485973
+ }, {
+ "field" : "noteTemplate",
+ "owner" : "jc",
+ "name" : "ax",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 944846259
+ }, {
+ "field" : "notedId",
+ "owner" : "jc",
+ "name" : "bp",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -742207739
+ }, {
+ "field" : "offsetX2d",
+ "owner" : "jc",
+ "name" : "j",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1408460323
+ }, {
+ "field" : "offsetY2d",
+ "owner" : "jc",
+ "name" : "z",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -45453355
+ }, {
+ "field" : "params",
+ "owner" : "jc",
+ "name" : "bd",
+ "access" : 0,
+ "descriptor" : "Lgs;"
+ }, {
+ "field" : "placeholder",
+ "owner" : "jc",
+ "name" : "bv",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1676762263
+ }, {
+ "field" : "placeholderTemplate",
+ "owner" : "jc",
+ "name" : "bg",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -691708769
+ }, {
+ "field" : "price",
+ "owner" : "jc",
+ "name" : "af",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -240283457
+ }, {
+ "field" : "recolorFrom",
+ "owner" : "jc",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "recolorTo",
+ "owner" : "jc",
+ "name" : "y",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "resizeX",
+ "owner" : "jc",
+ "name" : "ap",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1594097723
+ }, {
+ "field" : "resizeY",
+ "owner" : "jc",
+ "name" : "ak",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -636666147
+ }, {
+ "field" : "resizeZ",
+ "owner" : "jc",
+ "name" : "am",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -496370405
+ }, {
+ "field" : "retextureFrom",
+ "owner" : "jc",
+ "name" : "k",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "retextureTo",
+ "owner" : "jc",
+ "name" : "v",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "shiftClickIndex0",
+ "owner" : "jc",
+ "name" : "aw",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1728655245
+ }, {
+ "field" : "unnotedId",
+ "owner" : "jc",
+ "name" : "bi",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 2058235193
+ }, {
+ "field" : "xan2d",
+ "owner" : "jc",
+ "name" : "w",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1464734291
+ }, {
+ "field" : "yan2d",
+ "owner" : "jc",
+ "name" : "i",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -61123767
+ }, {
+ "field" : "zan2d",
+ "owner" : "jc",
+ "name" : "c",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 41322359
+ }, {
+ "field" : "zoom2d",
+ "owner" : "jc",
+ "name" : "d",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1339319927
+ }, {
+ "field" : "__l",
+ "owner" : "jc",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1420925049
+ }, {
+ "field" : "__ac",
+ "owner" : "jc",
+ "name" : "ac",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ao",
+ "owner" : "jc",
+ "name" : "ao",
+ "access" : 0,
+ "descriptor" : "[I"
+ } ],
+ "methods" : [ {
+ "method" : "getIntParam",
+ "owner" : "jc",
+ "name" : "o",
+ "access" : 1,
+ "descriptor" : "(IIS)I"
+ }, {
+ "method" : "getModel",
+ "owner" : "jc",
+ "name" : "q",
+ "access" : 17,
+ "parameters" : [ "quantity" ],
+ "descriptor" : "(IB)Ldv;"
+ }, {
+ "method" : "getShiftClickIndex",
+ "owner" : "jc",
+ "name" : "y",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "getStringParam",
+ "owner" : "jc",
+ "name" : "u",
+ "access" : 1,
+ "descriptor" : "(ILjava/lang/String;I)Ljava/lang/String;"
+ }, {
+ "method" : "read",
+ "owner" : "jc",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "(Lgx;I)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "jc",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "(Lgx;IB)V"
+ }, {
+ "method" : "__s_445",
+ "owner" : "jc",
+ "name" : "s",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "__h_446",
+ "owner" : "jc",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljc;Ljc;I)V"
+ }, {
+ "method" : "__f_447",
+ "owner" : "jc",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljc;Ljc;I)V"
+ }, {
+ "method" : "__p_448",
+ "owner" : "jc",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljc;Ljc;I)V"
+ }, {
+ "method" : "__m_449",
+ "owner" : "jc",
+ "name" : "m",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)Ldk;"
+ }, {
+ "method" : "__b_450",
+ "owner" : "jc",
+ "name" : "b",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)Ljc;"
+ }, {
+ "method" : "__e_451",
+ "owner" : "jc",
+ "name" : "e",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(ZI)Z"
+ }, {
+ "method" : "__r_452",
+ "owner" : "jc",
+ "name" : "r",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(ZB)Ldk;"
+ }, {
+ "method" : "__t_453",
+ "owner" : "jc",
+ "name" : "t",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(ZI)Z"
+ }, {
+ "method" : "__l_454",
+ "owner" : "jc",
+ "name" : "l",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(ZI)Ldk;"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "NpcDefinition",
+ "name" : "jg",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "actions",
+ "owner" : "jg",
+ "name" : "d",
+ "access" : 1,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "archives",
+ "owner" : "jg",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "combatLevel",
+ "owner" : "jg",
+ "name" : "i",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -928938457
+ }, {
+ "field" : "drawMapDot",
+ "owner" : "jg",
+ "name" : "w",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "headIconPrayer",
+ "owner" : "jg",
+ "name" : "aa",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1175281667
+ }, {
+ "field" : "heightScale",
+ "owner" : "jg",
+ "name" : "j",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 144967701
+ }, {
+ "field" : "id",
+ "owner" : "jg",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 784635241
+ }, {
+ "field" : "idleSequence",
+ "owner" : "jg",
+ "name" : "b",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 68844873
+ }, {
+ "field" : "isFollower",
+ "owner" : "jg",
+ "name" : "ae",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isInteractable",
+ "owner" : "jg",
+ "name" : "an",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "name",
+ "owner" : "jg",
+ "name" : "f",
+ "access" : 1,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "params",
+ "owner" : "jg",
+ "name" : "av",
+ "access" : 0,
+ "descriptor" : "Lgs;"
+ }, {
+ "field" : "recolorFrom",
+ "owner" : "jg",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "recolorTo",
+ "owner" : "jg",
+ "name" : "y",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "retextureFrom",
+ "owner" : "jg",
+ "name" : "k",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "retextureTo",
+ "owner" : "jg",
+ "name" : "v",
+ "access" : 0,
+ "descriptor" : "[S"
+ }, {
+ "field" : "size",
+ "owner" : "jg",
+ "name" : "p",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1437029871
+ }, {
+ "field" : "transformVarbit",
+ "owner" : "jg",
+ "name" : "ah",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1925581753
+ }, {
+ "field" : "transformVarp",
+ "owner" : "jg",
+ "name" : "aw",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -979430983
+ }, {
+ "field" : "transforms",
+ "owner" : "jg",
+ "name" : "ab",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "turnLeftSequence",
+ "owner" : "jg",
+ "name" : "n",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -2137059879
+ }, {
+ "field" : "turnRightSequence",
+ "owner" : "jg",
+ "name" : "e",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1105957431
+ }, {
+ "field" : "walkSequence",
+ "owner" : "jg",
+ "name" : "r",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1010554497
+ }, {
+ "field" : "walkTurnLeftSequence",
+ "owner" : "jg",
+ "name" : "l",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 114314099
+ }, {
+ "field" : "walkTurnRightSequence",
+ "owner" : "jg",
+ "name" : "o",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 2054418871
+ }, {
+ "field" : "walkTurnSequence",
+ "owner" : "jg",
+ "name" : "t",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -785244257
+ }, {
+ "field" : "widthScale",
+ "owner" : "jg",
+ "name" : "c",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1094226911
+ }, {
+ "field" : "__af",
+ "owner" : "jg",
+ "name" : "af",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1045379965
+ }, {
+ "field" : "__ag",
+ "owner" : "jg",
+ "name" : "ag",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1978492343
+ }, {
+ "field" : "__q",
+ "owner" : "jg",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__at",
+ "owner" : "jg",
+ "name" : "at",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__z",
+ "owner" : "jg",
+ "name" : "z",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__ay",
+ "owner" : "jg",
+ "name" : "ay",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1244245247
+ } ],
+ "methods" : [ {
+ "method" : "getIntParam",
+ "owner" : "jg",
+ "name" : "b",
+ "access" : 1,
+ "descriptor" : "(III)I"
+ }, {
+ "method" : "getModel",
+ "owner" : "jg",
+ "name" : "f",
+ "access" : 17,
+ "parameters" : [ "s1", "n1", "s2", "n2" ],
+ "descriptor" : "(Lju;ILju;II)Ldv;"
+ }, {
+ "method" : "getModelData",
+ "owner" : "jg",
+ "name" : "p",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ldk;"
+ }, {
+ "method" : "getStringParam",
+ "owner" : "jg",
+ "name" : "n",
+ "access" : 1,
+ "descriptor" : "(ILjava/lang/String;I)Ljava/lang/String;"
+ }, {
+ "method" : "init",
+ "owner" : "jg",
+ "name" : "g",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "read",
+ "owner" : "jg",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "jg",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "(Lgx;IB)V"
+ }, {
+ "method" : "transform",
+ "owner" : "jg",
+ "name" : "m",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(B)Ljg;"
+ }, {
+ "method" : "__q_455",
+ "owner" : "jg",
+ "name" : "q",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "OverlayDefinition",
+ "name" : "jw",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "hue",
+ "owner" : "jw",
+ "name" : "p",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1316198325
+ }, {
+ "field" : "hue2",
+ "owner" : "jw",
+ "name" : "b",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1810245119
+ }, {
+ "field" : "lightness",
+ "owner" : "jw",
+ "name" : "q",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1220142471
+ }, {
+ "field" : "lightness2",
+ "owner" : "jw",
+ "name" : "e",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1479659459
+ }, {
+ "field" : "rgb",
+ "owner" : "jw",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1099346071
+ }, {
+ "field" : "rgb2",
+ "owner" : "jw",
+ "name" : "f",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1567994693
+ }, {
+ "field" : "saturation",
+ "owner" : "jw",
+ "name" : "m",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1997769193
+ }, {
+ "field" : "saturation2",
+ "owner" : "jw",
+ "name" : "n",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1663697453
+ }, {
+ "field" : "texture",
+ "owner" : "jw",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 215202175
+ }, {
+ "field" : "__h",
+ "owner" : "jw",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "init",
+ "owner" : "jw",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "read",
+ "owner" : "jw",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "(Lgx;II)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "jw",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "(Lgx;III)V"
+ }, {
+ "method" : "setHsl",
+ "owner" : "jw",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ "rgb" ],
+ "descriptor" : "(II)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "SequenceDefinition",
+ "name" : "ju",
+ "super" : "ho",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "frameCount",
+ "owner" : "ju",
+ "name" : "b",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -671500069
+ }, {
+ "field" : "frameIds",
+ "owner" : "ju",
+ "name" : "f",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "frameIds2",
+ "owner" : "ju",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "frameLengths",
+ "owner" : "ju",
+ "name" : "m",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "shield",
+ "owner" : "ju",
+ "name" : "t",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1499671381
+ }, {
+ "field" : "weapon",
+ "owner" : "ju",
+ "name" : "l",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1031284921
+ }, {
+ "field" : "__n",
+ "owner" : "ju",
+ "name" : "n",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__e",
+ "owner" : "ju",
+ "name" : "e",
+ "access" : 1,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__k",
+ "owner" : "ju",
+ "name" : "k",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -649153047
+ }, {
+ "field" : "__o",
+ "owner" : "ju",
+ "name" : "o",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 506000659
+ }, {
+ "field" : "__r",
+ "owner" : "ju",
+ "name" : "r",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 865867889
+ }, {
+ "field" : "__u",
+ "owner" : "ju",
+ "name" : "u",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1825570597
+ }, {
+ "field" : "__y",
+ "owner" : "ju",
+ "name" : "y",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 855576215
+ }, {
+ "field" : "__q",
+ "owner" : "ju",
+ "name" : "q",
+ "access" : 1,
+ "descriptor" : "[I"
+ } ],
+ "methods" : [ {
+ "method" : "animateObject",
+ "owner" : "ju",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ "model", "frame", "orientation" ],
+ "descriptor" : "(Ldv;III)Ldv;"
+ }, {
+ "method" : "animateSequence",
+ "owner" : "ju",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "model", "frame" ],
+ "descriptor" : "(Ldv;II)Ldv;"
+ }, {
+ "method" : "animateSequence2",
+ "owner" : "ju",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ "model", "frame", "sequence", "sequenceFrame" ],
+ "descriptor" : "(Ldv;ILju;II)Ldv;"
+ }, {
+ "method" : "animateSpotAnimation",
+ "owner" : "ju",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ "model", "frame" ],
+ "descriptor" : "(Ldv;II)Ldv;"
+ }, {
+ "method" : "animateWidget",
+ "owner" : "ju",
+ "name" : "q",
+ "access" : 1,
+ "parameters" : [ "model", "frame" ],
+ "descriptor" : "(Ldv;II)Ldv;"
+ }, {
+ "method" : "init",
+ "owner" : "ju",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "read",
+ "owner" : "ju",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "(Lgx;I)V"
+ }, {
+ "method" : "readNext",
+ "owner" : "ju",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "(Lgx;II)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Timer",
+ "name" : "ka",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__b",
+ "owner" : "ka",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -718217661
+ }, {
+ "field" : "__m",
+ "owner" : "ka",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -838843165
+ }, {
+ "field" : "__p",
+ "owner" : "ka",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1210592943
+ }, {
+ "field" : "__q",
+ "owner" : "ka",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1278380113
+ }, {
+ "field" : "__a",
+ "owner" : "ka",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : 331649546976032179
+ }, {
+ "field" : "__f",
+ "owner" : "ka",
+ "name" : "f",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : -6758735277535701557
+ }, {
+ "field" : "__h",
+ "owner" : "ka",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : 8613492977957081835
+ }, {
+ "field" : "__s",
+ "owner" : "ka",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : -45624293603189385
+ }, {
+ "field" : "__x",
+ "owner" : "ka",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : 1385251725868335585
+ }, {
+ "field" : "__g",
+ "owner" : "ka",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "write",
+ "owner" : "ka",
+ "name" : "p",
+ "access" : 1,
+ "parameters" : [ "buffer" ],
+ "descriptor" : "(Lgx;I)V"
+ }, {
+ "method" : "__a_456",
+ "owner" : "ka",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__s_457",
+ "owner" : "ka",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__g_458",
+ "owner" : "ka",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(IB)V"
+ }, {
+ "method" : "__x_459",
+ "owner" : "ka",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__h_460",
+ "owner" : "ka",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__f_461",
+ "owner" : "ka",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "User",
+ "name" : "kn",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.lang.Comparable" ],
+ "fields" : [ {
+ "field" : "previousUsername",
+ "owner" : "kn",
+ "name" : "x",
+ "access" : 0,
+ "descriptor" : "Lkx;"
+ }, {
+ "field" : "username0",
+ "owner" : "kn",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Lkx;"
+ } ],
+ "methods" : [ {
+ "method" : "compareTo0",
+ "owner" : "kn",
+ "name" : "au",
+ "access" : 1,
+ "parameters" : [ "other" ],
+ "descriptor" : "(Lkn;I)I"
+ }, {
+ "method" : "name",
+ "owner" : "kn",
+ "name" : "at",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ljava/lang/String;"
+ }, {
+ "method" : "previousName",
+ "owner" : "kn",
+ "name" : "ae",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Ljava/lang/String;"
+ }, {
+ "method" : "set",
+ "owner" : "kn",
+ "name" : "av",
+ "access" : 0,
+ "parameters" : [ "username", "previousUsername" ],
+ "descriptor" : "(Lkx;Lkx;I)V"
+ }, {
+ "method" : "username",
+ "owner" : "kn",
+ "name" : "an",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lkx;"
+ }, {
+ "method" : "__compareTo_462",
+ "owner" : "kn",
+ "name" : "compareTo",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Object;)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "AbstractUserComparator",
+ "name" : "kj",
+ "super" : "java.lang.Object",
+ "access" : 1057,
+ "interfaces" : [ "java.util.Comparator" ],
+ "fields" : [ {
+ "field" : "__s",
+ "owner" : "kj",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Ljava/util/Comparator;"
+ } ],
+ "methods" : [ {
+ "method" : "__m_463",
+ "owner" : "kj",
+ "name" : "m",
+ "access" : 16,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/util/Comparator;I)V"
+ }, {
+ "method" : "__q_464",
+ "owner" : "kj",
+ "name" : "q",
+ "access" : 20,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lkn;Lkn;B)I"
+ }, {
+ "method" : "__equals_465",
+ "owner" : "kj",
+ "name" : "equals",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Object;)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 4,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Ignored",
+ "name" : "kq",
+ "super" : "kn",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "id",
+ "owner" : "kq",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 964897101
+ } ],
+ "methods" : [ {
+ "method" : "compareTo00",
+ "owner" : "kq",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "other" ],
+ "descriptor" : "(Lkq;B)I"
+ }, {
+ "method" : "__au_466",
+ "owner" : "kq",
+ "name" : "au",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lkn;I)I"
+ }, {
+ "method" : "__compareTo_467",
+ "owner" : "kq",
+ "name" : "compareTo",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Object;)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "FriendsList",
+ "name" : "kr",
+ "super" : "kd",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "friendLoginUpdates",
+ "owner" : "kr",
+ "name" : "n",
+ "access" : 1,
+ "descriptor" : "Lhp;"
+ }, {
+ "field" : "loginType",
+ "owner" : "kr",
+ "name" : "g",
+ "access" : 16,
+ "descriptor" : "Lll;"
+ }, {
+ "field" : "__b",
+ "owner" : "kr",
+ "name" : "b",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -672753831
+ } ],
+ "methods" : [ {
+ "method" : "newInstance",
+ "owner" : "kr",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "(I)Lkn;"
+ }, {
+ "method" : "newTypedArray",
+ "owner" : "kr",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "(IB)[Lkn;"
+ }, {
+ "method" : "read",
+ "owner" : "kr",
+ "name" : "n",
+ "access" : 1,
+ "parameters" : [ "buffer", "n" ],
+ "descriptor" : "(Lgx;IB)V"
+ }, {
+ "method" : "__g_468",
+ "owner" : "kr",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lkx;ZB)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Lll;)V"
+ } ]
+}, {
+ "class" : "Username",
+ "name" : "kx",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.lang.Comparable" ],
+ "fields" : [ {
+ "field" : "cleanName",
+ "owner" : "kx",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "name0",
+ "owner" : "kx",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ } ],
+ "methods" : [ {
+ "method" : "compareTo0",
+ "owner" : "kx",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "other" ],
+ "descriptor" : "(Lkx;I)I"
+ }, {
+ "method" : "hasCleanName",
+ "owner" : "kx",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "name",
+ "owner" : "kx",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)Ljava/lang/String;"
+ }, {
+ "method" : "__equals_469",
+ "owner" : "kx",
+ "name" : "equals",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Object;)Z"
+ }, {
+ "method" : "__hashCode_470",
+ "owner" : "kx",
+ "name" : "hashCode",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()I"
+ }, {
+ "method" : "__toString_471",
+ "owner" : "kx",
+ "name" : "toString",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Ljava/lang/String;"
+ }, {
+ "method" : "__compareTo_472",
+ "owner" : "kx",
+ "name" : "compareTo",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Object;)I"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Ljava/lang/String;Lll;)V"
+ } ]
+}, {
+ "class" : "Friend",
+ "name" : "ks",
+ "super" : "kl",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "ks",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__s",
+ "owner" : "ks",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "compareTo00",
+ "owner" : "ks",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "other" ],
+ "descriptor" : "(Lks;B)I"
+ }, {
+ "method" : "__au_473",
+ "owner" : "ks",
+ "name" : "au",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lkn;I)I"
+ }, {
+ "method" : "__compareTo_474",
+ "owner" : "ks",
+ "name" : "compareTo",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Object;)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "ClanChat",
+ "name" : "ky",
+ "super" : "kd",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "localUser",
+ "owner" : "ky",
+ "name" : "g",
+ "access" : 16,
+ "descriptor" : "Lko;"
+ }, {
+ "field" : "loginType",
+ "owner" : "ky",
+ "name" : "s",
+ "access" : 16,
+ "descriptor" : "Lll;"
+ }, {
+ "field" : "name",
+ "owner" : "ky",
+ "name" : "b",
+ "access" : 1,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "owner",
+ "owner" : "ky",
+ "name" : "n",
+ "access" : 1,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "rank",
+ "owner" : "ky",
+ "name" : "r",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 90485331
+ }, {
+ "field" : "__t",
+ "owner" : "ky",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1331778397
+ }, {
+ "field" : "__e",
+ "owner" : "ky",
+ "name" : "e",
+ "access" : 1,
+ "descriptor" : "B"
+ } ],
+ "methods" : [ {
+ "method" : "clearFriends",
+ "owner" : "ky",
+ "name" : "cn",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "clearIgnoreds",
+ "owner" : "ky",
+ "name" : "cw",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "newInstance",
+ "owner" : "ky",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "(I)Lkn;"
+ }, {
+ "method" : "newTypedArray",
+ "owner" : "ky",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "(IB)[Lkn;"
+ }, {
+ "method" : "readUpdate",
+ "owner" : "ky",
+ "name" : "cr",
+ "access" : 17,
+ "parameters" : [ "buffer" ],
+ "descriptor" : "(Lgx;I)V"
+ }, {
+ "method" : "__g_475",
+ "owner" : "ky",
+ "name" : "g",
+ "access" : 16,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/String;B)V"
+ }, {
+ "method" : "__n_476",
+ "owner" : "ky",
+ "name" : "n",
+ "access" : 16,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/String;I)V"
+ }, {
+ "method" : "__ck_477",
+ "owner" : "ky",
+ "name" : "ck",
+ "access" : 17,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lgx;B)V"
+ }, {
+ "method" : "__cv_478",
+ "owner" : "ky",
+ "name" : "cv",
+ "access" : 16,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lkm;I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Lll;Lko;)V"
+ } ]
+}, {
+ "class" : "FontName",
+ "name" : "kw",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__p",
+ "owner" : "kw",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ } ],
+ "methods" : [ ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(Ljava/lang/String;)V"
+ } ]
+}, {
+ "class" : "Fonts",
+ "name" : "ke",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "map",
+ "owner" : "ke",
+ "name" : "g",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashMap;"
+ }, {
+ "field" : "__a",
+ "owner" : "ke",
+ "name" : "a",
+ "access" : 0,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__s",
+ "owner" : "ke",
+ "name" : "s",
+ "access" : 0,
+ "descriptor" : "Liz;"
+ } ],
+ "methods" : [ {
+ "method" : "createMap",
+ "owner" : "ke",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "([Lkw;I)Ljava/util/HashMap;"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Liz;Liz;)V"
+ } ]
+}, {
+ "class" : "SpriteIds",
+ "name" : "lf",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "crosses",
+ "owner" : "lf",
+ "name" : "m",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1669700025
+ }, {
+ "field" : "headIconsHint",
+ "owner" : "lf",
+ "name" : "f",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1684366731
+ }, {
+ "field" : "headIconsPk",
+ "owner" : "lf",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -2019109473
+ }, {
+ "field" : "headIconsPrayer",
+ "owner" : "lf",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 494661443
+ }, {
+ "field" : "mapDots",
+ "owner" : "lf",
+ "name" : "q",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 822521699
+ }, {
+ "field" : "mapMarkers",
+ "owner" : "lf",
+ "name" : "p",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 853063867
+ }, {
+ "field" : "mapScenes",
+ "owner" : "lf",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -2017959977
+ }, {
+ "field" : "modIcons",
+ "owner" : "lf",
+ "name" : "n",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1831295821
+ }, {
+ "field" : "scrollBars",
+ "owner" : "lf",
+ "name" : "b",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1843108053
+ }, {
+ "field" : "__a",
+ "owner" : "lf",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 540491633
+ }, {
+ "field" : "__s",
+ "owner" : "lf",
+ "name" : "s",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -2080478391
+ } ],
+ "methods" : [ {
+ "method" : "read",
+ "owner" : "lf",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "index" ],
+ "descriptor" : "(Liz;I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "UserComparator1",
+ "name" : "lk",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.util.Comparator" ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "lk",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "__a_479",
+ "owner" : "lk",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lkn;Lkn;B)I"
+ }, {
+ "method" : "__compare_480",
+ "owner" : "lk",
+ "name" : "compare",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/lang/Object;Ljava/lang/Object;)I"
+ }, {
+ "method" : "__equals_481",
+ "owner" : "lk",
+ "name" : "equals",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Object;)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Z)V"
+ } ]
+}, {
+ "class" : "UserComparator2",
+ "name" : "lg",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "java.util.Comparator" ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "lg",
+ "name" : "a",
+ "access" : 16,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "__a_482",
+ "owner" : "lg",
+ "name" : "a",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Lkn;Lkn;B)I"
+ }, {
+ "method" : "__compare_483",
+ "owner" : "lg",
+ "name" : "compare",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Ljava/lang/Object;Ljava/lang/Object;)I"
+ }, {
+ "method" : "__equals_484",
+ "owner" : "lg",
+ "name" : "equals",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Ljava/lang/Object;)Z"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(Z)V"
+ } ]
+}, {
+ "class" : "Bounds",
+ "name" : "lh",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__a",
+ "owner" : "lh",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1276157069
+ }, {
+ "field" : "__g",
+ "owner" : "lh",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 845191259
+ }, {
+ "field" : "__s",
+ "owner" : "lh",
+ "name" : "s",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : 1562129035
+ }, {
+ "field" : "__x",
+ "owner" : "lh",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "I",
+ "decoder" : -1694776703
+ } ],
+ "methods" : [ {
+ "method" : "__a_485",
+ "owner" : "lh",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__s_486",
+ "owner" : "lh",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(IIB)V"
+ }, {
+ "method" : "__toString_487",
+ "owner" : "lh",
+ "name" : "toString",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Ljava/lang/String;"
+ }, {
+ "method" : "__g_488",
+ "owner" : "lh",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Llh;Llh;I)V"
+ }, {
+ "method" : "__x_489",
+ "owner" : "lh",
+ "name" : "x",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Llh;Llh;I)V"
+ }, {
+ "method" : "__h_490",
+ "owner" : "lh",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(Llh;Llh;I)V"
+ }, {
+ "method" : "__f_491",
+ "owner" : "lh",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "__p_492",
+ "owner" : "lh",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "(II)V"
+ }, {
+ "access" : 1,
+ "descriptor" : "(IIII)V"
+ } ]
+}, {
+ "class" : "RectangleMode",
+ "name" : "lp",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ "gr" ],
+ "fields" : [ {
+ "field" : "id",
+ "owner" : "lp",
+ "name" : "x",
+ "access" : 17,
+ "descriptor" : "I",
+ "decoder" : 606563051
+ }, {
+ "field" : "id2",
+ "owner" : "lp",
+ "name" : "h",
+ "access" : 16,
+ "descriptor" : "I",
+ "decoder" : -960272879
+ } ],
+ "methods" : [ {
+ "method" : "__x_493",
+ "owner" : "lp",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(II)V"
+ } ]
+}, {
+ "class" : "IndexedSprite",
+ "name" : "lv",
+ "super" : "lb",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "height",
+ "owner" : "lv",
+ "name" : "m",
+ "access" : 1,
+ "descriptor" : "I"
+ }, {
+ "field" : "palette",
+ "owner" : "lv",
+ "name" : "s",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "pixels",
+ "owner" : "lv",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "[B"
+ }, {
+ "field" : "subHeight",
+ "owner" : "lv",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "I"
+ }, {
+ "field" : "subWidth",
+ "owner" : "lv",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "I"
+ }, {
+ "field" : "width",
+ "owner" : "lv",
+ "name" : "p",
+ "access" : 1,
+ "descriptor" : "I"
+ }, {
+ "field" : "xOffset",
+ "owner" : "lv",
+ "name" : "h",
+ "access" : 1,
+ "descriptor" : "I"
+ }, {
+ "field" : "yOffset",
+ "owner" : "lv",
+ "name" : "f",
+ "access" : 1,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ {
+ "method" : "normalize",
+ "owner" : "lv",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "shiftColors",
+ "owner" : "lv",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ "r", "g", "b" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__g_494",
+ "owner" : "lv",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__h_495",
+ "owner" : "lv",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(IIII)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "Sprite",
+ "name" : "ld",
+ "super" : "lb",
+ "access" : 49,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "height",
+ "owner" : "ld",
+ "name" : "p",
+ "access" : 1,
+ "descriptor" : "I"
+ }, {
+ "field" : "pixels",
+ "owner" : "ld",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "[I"
+ }, {
+ "field" : "subHeight",
+ "owner" : "ld",
+ "name" : "g",
+ "access" : 1,
+ "descriptor" : "I"
+ }, {
+ "field" : "subWidth",
+ "owner" : "ld",
+ "name" : "s",
+ "access" : 1,
+ "descriptor" : "I"
+ }, {
+ "field" : "width",
+ "owner" : "ld",
+ "name" : "f",
+ "access" : 1,
+ "descriptor" : "I"
+ }, {
+ "field" : "xOffset",
+ "owner" : "ld",
+ "name" : "h",
+ "access" : 0,
+ "descriptor" : "I"
+ }, {
+ "field" : "yOffset",
+ "owner" : "ld",
+ "name" : "x",
+ "access" : 1,
+ "descriptor" : "I"
+ } ],
+ "methods" : [ {
+ "method" : "copy",
+ "owner" : "ld",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Lld;"
+ }, {
+ "method" : "copyNormalized",
+ "owner" : "ld",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Lld;"
+ }, {
+ "method" : "normalize",
+ "owner" : "ld",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__g_496",
+ "owner" : "ld",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__h_497",
+ "owner" : "ld",
+ "name" : "h",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__f_498",
+ "owner" : "ld",
+ "name" : "f",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__p_499",
+ "owner" : "ld",
+ "name" : "p",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "__m_500",
+ "owner" : "ld",
+ "name" : "m",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__q_501",
+ "owner" : "ld",
+ "name" : "q",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__b_502",
+ "owner" : "ld",
+ "name" : "b",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__e_503",
+ "owner" : "ld",
+ "name" : "e",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__t_504",
+ "owner" : "ld",
+ "name" : "t",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "__o_505",
+ "owner" : "ld",
+ "name" : "o",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "__y_506",
+ "owner" : "ld",
+ "name" : "y",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__v_507",
+ "owner" : "ld",
+ "name" : "v",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4" ],
+ "descriptor" : "(IIIII)V"
+ }, {
+ "method" : "__aa_508",
+ "owner" : "ld",
+ "name" : "aa",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__aw_509",
+ "owner" : "ld",
+ "name" : "aw",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4" ],
+ "descriptor" : "(IIIII)V"
+ }, {
+ "method" : "__ae_510",
+ "owner" : "ld",
+ "name" : "ae",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5", "arg6", "arg7" ],
+ "descriptor" : "(IIIIII[I[I)V"
+ }, {
+ "method" : "__av_511",
+ "owner" : "ld",
+ "name" : "av",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5", "arg6", "arg7", "arg8", "arg9" ],
+ "descriptor" : "(IIIIIIII[I[I)V"
+ }, {
+ "method" : "__au_512",
+ "owner" : "ld",
+ "name" : "au",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5", "arg6", "arg7" ],
+ "descriptor" : "(IIIIIIDI)V"
+ }, {
+ "method" : "__aj_513",
+ "owner" : "ld",
+ "name" : "aj",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "__as_514",
+ "owner" : "ld",
+ "name" : "as",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5" ],
+ "descriptor" : "(IIIIII)V"
+ }, {
+ "method" : "__ar_515",
+ "owner" : "ld",
+ "name" : "ar",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(IIII)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "()V"
+ }, {
+ "access" : 1,
+ "descriptor" : "(II)V"
+ }, {
+ "access" : 1,
+ "descriptor" : "([III)V"
+ } ]
+}, {
+ "class" : "PlatformInfo",
+ "name" : "li",
+ "super" : "hy",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__an",
+ "owner" : "li",
+ "name" : "an",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__as",
+ "owner" : "li",
+ "name" : "as",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__ae",
+ "owner" : "li",
+ "name" : "ae",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -246402761
+ }, {
+ "field" : "__ai",
+ "owner" : "li",
+ "name" : "ai",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1094623715
+ }, {
+ "field" : "__aj",
+ "owner" : "li",
+ "name" : "aj",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1371798001
+ }, {
+ "field" : "__ak",
+ "owner" : "li",
+ "name" : "ak",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1178383851
+ }, {
+ "field" : "__al",
+ "owner" : "li",
+ "name" : "al",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1737806495
+ }, {
+ "field" : "__am",
+ "owner" : "li",
+ "name" : "am",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 87564309
+ }, {
+ "field" : "__ap",
+ "owner" : "li",
+ "name" : "ap",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1815618991
+ }, {
+ "field" : "__ar",
+ "owner" : "li",
+ "name" : "ar",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -526326567
+ }, {
+ "field" : "__at",
+ "owner" : "li",
+ "name" : "at",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -2022011321
+ }, {
+ "field" : "__au",
+ "owner" : "li",
+ "name" : "au",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -773146569
+ }, {
+ "field" : "__av",
+ "owner" : "li",
+ "name" : "av",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1133324349
+ }, {
+ "field" : "__aw",
+ "owner" : "li",
+ "name" : "aw",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -954353821
+ }, {
+ "field" : "__az",
+ "owner" : "li",
+ "name" : "az",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1598160397
+ }, {
+ "field" : "__bf",
+ "owner" : "li",
+ "name" : "bf",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 193012179
+ }, {
+ "field" : "__bz",
+ "owner" : "li",
+ "name" : "bz",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -672502519
+ }, {
+ "field" : "__bd",
+ "owner" : "li",
+ "name" : "bd",
+ "access" : 0,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ac",
+ "owner" : "li",
+ "name" : "ac",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__ad",
+ "owner" : "li",
+ "name" : "ad",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__ao",
+ "owner" : "li",
+ "name" : "ao",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__ax",
+ "owner" : "li",
+ "name" : "ax",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__be",
+ "owner" : "li",
+ "name" : "be",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__bi",
+ "owner" : "li",
+ "name" : "bi",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__bo",
+ "owner" : "li",
+ "name" : "bo",
+ "access" : 0,
+ "descriptor" : "Ljava/lang/String;"
+ } ],
+ "methods" : [ {
+ "method" : "size",
+ "owner" : "li",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)I"
+ }, {
+ "method" : "write",
+ "owner" : "li",
+ "name" : "a",
+ "access" : 1,
+ "parameters" : [ "buffer" ],
+ "descriptor" : "(Lgx;I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(IZIIIIIZIIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/String;Ljava/lang/String;[IILjava/lang/String;)V"
+ } ]
+}, {
+ "class" : "WorldMap",
+ "name" : "lq",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "cacheLoader",
+ "owner" : "lq",
+ "name" : "d",
+ "access" : 0,
+ "descriptor" : "Llw;"
+ }, {
+ "field" : "currentMapArea0",
+ "owner" : "lq",
+ "name" : "y",
+ "access" : 0,
+ "descriptor" : "Lag;"
+ }, {
+ "field" : "elementsDisabled",
+ "owner" : "lq",
+ "name" : "am",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "enabledCategories",
+ "owner" : "lq",
+ "name" : "ax",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashSet;"
+ }, {
+ "field" : "enabledElements",
+ "owner" : "lq",
+ "name" : "ad",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashSet;"
+ }, {
+ "field" : "flashingElements",
+ "owner" : "lq",
+ "name" : "at",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashSet;"
+ }, {
+ "field" : "font",
+ "owner" : "lq",
+ "name" : "r",
+ "access" : 0,
+ "descriptor" : "Lkt;"
+ }, {
+ "field" : "fonts",
+ "owner" : "lq",
+ "name" : "t",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashMap;"
+ }, {
+ "field" : "iconIterator",
+ "owner" : "lq",
+ "name" : "bz",
+ "access" : 0,
+ "descriptor" : "Ljava/util/Iterator;"
+ }, {
+ "field" : "mainMapArea",
+ "owner" : "lq",
+ "name" : "u",
+ "access" : 0,
+ "descriptor" : "Lag;"
+ }, {
+ "field" : "mapAreas",
+ "owner" : "lq",
+ "name" : "o",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashMap;"
+ }, {
+ "field" : "mapSceneSprites",
+ "owner" : "lq",
+ "name" : "l",
+ "access" : 0,
+ "descriptor" : "[Llv;"
+ }, {
+ "field" : "mouseCoord",
+ "owner" : "lq",
+ "name" : "bp",
+ "access" : 0,
+ "descriptor" : "Lif;"
+ }, {
+ "field" : "perpetualFlash0",
+ "owner" : "lq",
+ "name" : "an",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "sprite",
+ "owner" : "lq",
+ "name" : "bg",
+ "access" : 0,
+ "descriptor" : "Lld;"
+ }, {
+ "field" : "worldMapManager",
+ "owner" : "lq",
+ "name" : "v",
+ "access" : 0,
+ "descriptor" : "Lav;"
+ }, {
+ "field" : "zoom",
+ "owner" : "lq",
+ "name" : "z",
+ "access" : 0,
+ "descriptor" : "F"
+ }, {
+ "field" : "zoomTarget",
+ "owner" : "lq",
+ "name" : "ag",
+ "access" : 0,
+ "descriptor" : "F"
+ }, {
+ "field" : "__k",
+ "owner" : "lq",
+ "name" : "k",
+ "access" : 0,
+ "descriptor" : "Lag;"
+ }, {
+ "field" : "__az",
+ "owner" : "lq",
+ "name" : "az",
+ "access" : 0,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__aa",
+ "owner" : "lq",
+ "name" : "aa",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 2122982383
+ }, {
+ "field" : "__ab",
+ "owner" : "lq",
+ "name" : "ab",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1551657967
+ }, {
+ "field" : "__ae",
+ "owner" : "lq",
+ "name" : "ae",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -929811291
+ }, {
+ "field" : "__af",
+ "owner" : "lq",
+ "name" : "af",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1734018001
+ }, {
+ "field" : "__ah",
+ "owner" : "lq",
+ "name" : "ah",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1451062415
+ }, {
+ "field" : "__aj",
+ "owner" : "lq",
+ "name" : "aj",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 341855601
+ }, {
+ "field" : "__al",
+ "owner" : "lq",
+ "name" : "al",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1830588467
+ }, {
+ "field" : "__aq",
+ "owner" : "lq",
+ "name" : "aq",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 276263011
+ }, {
+ "field" : "__ar",
+ "owner" : "lq",
+ "name" : "ar",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -669721695
+ }, {
+ "field" : "__as",
+ "owner" : "lq",
+ "name" : "as",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 2007235211
+ }, {
+ "field" : "__au",
+ "owner" : "lq",
+ "name" : "au",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 137845797
+ }, {
+ "field" : "__av",
+ "owner" : "lq",
+ "name" : "av",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 265619751
+ }, {
+ "field" : "__aw",
+ "owner" : "lq",
+ "name" : "aw",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1451304293
+ }, {
+ "field" : "__ay",
+ "owner" : "lq",
+ "name" : "ay",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -337859149
+ }, {
+ "field" : "__bf",
+ "owner" : "lq",
+ "name" : "bf",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -513481129
+ }, {
+ "field" : "__bk",
+ "owner" : "lq",
+ "name" : "bk",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1467869341
+ }, {
+ "field" : "__bl",
+ "owner" : "lq",
+ "name" : "bl",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -440766419
+ }, {
+ "field" : "__bn",
+ "owner" : "lq",
+ "name" : "bn",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 292217987
+ }, {
+ "field" : "__br",
+ "owner" : "lq",
+ "name" : "br",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1862450189
+ }, {
+ "field" : "__c",
+ "owner" : "lq",
+ "name" : "c",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1010057293
+ }, {
+ "field" : "__i",
+ "owner" : "lq",
+ "name" : "i",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -430412355
+ }, {
+ "field" : "__j",
+ "owner" : "lq",
+ "name" : "j",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : 1554339443
+ }, {
+ "field" : "__w",
+ "owner" : "lq",
+ "name" : "w",
+ "access" : 0,
+ "descriptor" : "I",
+ "decoder" : -1162073603
+ }, {
+ "field" : "__m",
+ "owner" : "lq",
+ "name" : "m",
+ "access" : 0,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__p",
+ "owner" : "lq",
+ "name" : "p",
+ "access" : 0,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__q",
+ "owner" : "lq",
+ "name" : "q",
+ "access" : 0,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__ak",
+ "owner" : "lq",
+ "name" : "ak",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashSet;"
+ }, {
+ "field" : "__ap",
+ "owner" : "lq",
+ "name" : "ap",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashSet;"
+ }, {
+ "field" : "__bi",
+ "owner" : "lq",
+ "name" : "bi",
+ "access" : 0,
+ "descriptor" : "Ljava/util/HashSet;"
+ }, {
+ "field" : "__bd",
+ "owner" : "lq",
+ "name" : "bd",
+ "access" : 0,
+ "descriptor" : "Ljava/util/List;"
+ }, {
+ "field" : "__ai",
+ "owner" : "lq",
+ "name" : "ai",
+ "access" : 0,
+ "descriptor" : "J",
+ "decoder" : -3815897326315943185
+ }, {
+ "field" : "__be",
+ "owner" : "lq",
+ "name" : "be",
+ "access" : 16,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__bv",
+ "owner" : "lq",
+ "name" : "bv",
+ "access" : 1,
+ "descriptor" : "Z"
+ } ],
+ "methods" : [ {
+ "method" : "currentMapAreaId",
+ "owner" : "lq",
+ "name" : "t",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "disableCategory",
+ "owner" : "lq",
+ "name" : "bi",
+ "access" : 1,
+ "descriptor" : "(IZI)V"
+ }, {
+ "method" : "disableElement",
+ "owner" : "lq",
+ "name" : "bz",
+ "access" : 1,
+ "descriptor" : "(IZI)V"
+ }, {
+ "method" : "draw",
+ "owner" : "lq",
+ "name" : "v",
+ "access" : 1,
+ "parameters" : [ "x", "y", "width", "height", "cycle" ],
+ "descriptor" : "(IIIIII)V"
+ }, {
+ "method" : "drawLoading",
+ "owner" : "lq",
+ "name" : "aw",
+ "access" : 0,
+ "descriptor" : "(IIIIII)V"
+ }, {
+ "method" : "drawOverview",
+ "owner" : "lq",
+ "name" : "ab",
+ "access" : 1,
+ "parameters" : [ "x", "y", "width", "height" ],
+ "descriptor" : "(IIIIB)V"
+ }, {
+ "method" : "flashCategory",
+ "owner" : "lq",
+ "name" : "bo",
+ "access" : 1,
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "flashElement",
+ "owner" : "lq",
+ "name" : "bf",
+ "access" : 1,
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "getCurrentMapArea",
+ "owner" : "lq",
+ "name" : "l",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Lag;"
+ }, {
+ "method" : "getElementsEnabled",
+ "owner" : "lq",
+ "name" : "bp",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "getMapArea",
+ "owner" : "lq",
+ "name" : "au",
+ "access" : 1,
+ "parameters" : [ "id" ],
+ "descriptor" : "(II)Lag;"
+ }, {
+ "method" : "getZoomLevel",
+ "owner" : "lq",
+ "name" : "at",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "iconNext",
+ "owner" : "lq",
+ "name" : "bw",
+ "access" : 1,
+ "descriptor" : "(B)Lat;"
+ }, {
+ "method" : "iconStart",
+ "owner" : "lq",
+ "name" : "bb",
+ "access" : 1,
+ "descriptor" : "(S)Lat;"
+ }, {
+ "method" : "init",
+ "owner" : "lq",
+ "name" : "a",
+ "access" : 1,
+ "descriptor" : "(Liz;Liz;Liz;Lkt;Ljava/util/HashMap;[Llv;B)V"
+ }, {
+ "method" : "initializeWorldMapManager",
+ "owner" : "lq",
+ "name" : "u",
+ "access" : 0,
+ "parameters" : [ "mapArea" ],
+ "descriptor" : "(Lag;I)V"
+ }, {
+ "method" : "isCacheLoaded",
+ "owner" : "lq",
+ "name" : "av",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "isCategoryDisabled",
+ "owner" : "lq",
+ "name" : "bg",
+ "access" : 1,
+ "descriptor" : "(II)Z"
+ }, {
+ "method" : "isElementDisabled",
+ "owner" : "lq",
+ "name" : "bv",
+ "access" : 1,
+ "descriptor" : "(II)Z"
+ }, {
+ "method" : "jump",
+ "owner" : "lq",
+ "name" : "k",
+ "access" : 0,
+ "parameters" : [ "plane", "x", "y" ],
+ "descriptor" : "(IIIB)V"
+ }, {
+ "method" : "loadCache",
+ "owner" : "lq",
+ "name" : "ae",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "mapAreaAtCoord",
+ "owner" : "lq",
+ "name" : "n",
+ "access" : 1,
+ "parameters" : [ "plane", "x", "y" ],
+ "descriptor" : "(IIIB)Lag;"
+ }, {
+ "method" : "menuAction",
+ "owner" : "lq",
+ "name" : "bl",
+ "access" : 1,
+ "parameters" : [ "a", "b", "c", "d" ],
+ "descriptor" : "(IILif;Lif;I)V"
+ }, {
+ "method" : "onCycle",
+ "owner" : "lq",
+ "name" : "g",
+ "access" : 1,
+ "parameters" : [ "a", "b", "c", "d", "e", "f", "g" ],
+ "descriptor" : "(IIZIIIII)V"
+ }, {
+ "method" : "perpetualFlash",
+ "owner" : "lq",
+ "name" : "am",
+ "access" : 1,
+ "descriptor" : "(ZI)V"
+ }, {
+ "method" : "setCurrentMapArea",
+ "owner" : "lq",
+ "name" : "o",
+ "access" : 0,
+ "parameters" : [ "mapArea" ],
+ "descriptor" : "(Lag;B)V"
+ }, {
+ "method" : "setCurrentMapAreaId",
+ "owner" : "lq",
+ "name" : "r",
+ "access" : 1,
+ "parameters" : [ "id" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "setElementsEnabled",
+ "owner" : "lq",
+ "name" : "bd",
+ "access" : 1,
+ "descriptor" : "(ZI)V"
+ }, {
+ "method" : "setZoomLevel",
+ "owner" : "lq",
+ "name" : "ah",
+ "access" : 1,
+ "parameters" : [ "zoom" ],
+ "descriptor" : "(IB)V"
+ }, {
+ "method" : "smoothZoom",
+ "owner" : "lq",
+ "name" : "f",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "stopCurrentFlashes",
+ "owner" : "lq",
+ "name" : "be",
+ "access" : 1,
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "__s_516",
+ "owner" : "lq",
+ "name" : "s",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__x_517",
+ "owner" : "lq",
+ "name" : "x",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(IIZZI)V"
+ }, {
+ "method" : "__h_518",
+ "owner" : "lq",
+ "name" : "h",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(IIZJ)V"
+ }, {
+ "method" : "__p_519",
+ "owner" : "lq",
+ "name" : "p",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__m_520",
+ "owner" : "lq",
+ "name" : "m",
+ "access" : 16,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIZI)V"
+ }, {
+ "method" : "__q_521",
+ "owner" : "lq",
+ "name" : "q",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__b_522",
+ "owner" : "lq",
+ "name" : "b",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__e_523",
+ "owner" : "lq",
+ "name" : "e",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(IIIZB)V"
+ }, {
+ "method" : "__y_524",
+ "owner" : "lq",
+ "name" : "y",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3" ],
+ "descriptor" : "(Lag;Lif;Lif;ZI)V"
+ }, {
+ "method" : "__c_525",
+ "owner" : "lq",
+ "name" : "c",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5" ],
+ "descriptor" : "(IIIIIII)Z"
+ }, {
+ "method" : "__aa_526",
+ "owner" : "lq",
+ "name" : "aa",
+ "access" : 0,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5" ],
+ "descriptor" : "(IIIIIII)V"
+ }, {
+ "method" : "__an_527",
+ "owner" : "lq",
+ "name" : "an",
+ "access" : 0,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(IB)F"
+ }, {
+ "method" : "__aj_528",
+ "owner" : "lq",
+ "name" : "aj",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__as_529",
+ "owner" : "lq",
+ "name" : "as",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "__ar_530",
+ "owner" : "lq",
+ "name" : "ar",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "__ai_531",
+ "owner" : "lq",
+ "name" : "ai",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2" ],
+ "descriptor" : "(IIIB)V"
+ }, {
+ "method" : "__aq_532",
+ "owner" : "lq",
+ "name" : "aq",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__al_533",
+ "owner" : "lq",
+ "name" : "al",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__az_534",
+ "owner" : "lq",
+ "name" : "az",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)Lif;"
+ }, {
+ "method" : "__ac_535",
+ "owner" : "lq",
+ "name" : "ac",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__ao_536",
+ "owner" : "lq",
+ "name" : "ao",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)I"
+ }, {
+ "method" : "__ad_537",
+ "owner" : "lq",
+ "name" : "ad",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(IB)V"
+ }, {
+ "method" : "__ax_538",
+ "owner" : "lq",
+ "name" : "ax",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__ap_539",
+ "owner" : "lq",
+ "name" : "ap",
+ "access" : 1,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "__ak_540",
+ "owner" : "lq",
+ "name" : "ak",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "__bk_541",
+ "owner" : "lq",
+ "name" : "bk",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "__br_542",
+ "owner" : "lq",
+ "name" : "br",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1", "arg2", "arg3", "arg4", "arg5" ],
+ "descriptor" : "(IIIIIII)V"
+ }, {
+ "method" : "__bn_543",
+ "owner" : "lq",
+ "name" : "bn",
+ "access" : 1,
+ "parameters" : [ "arg0", "arg1" ],
+ "descriptor" : "(ILif;S)Lif;"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+}, {
+ "class" : "LoginType",
+ "name" : "ll",
+ "super" : "java.lang.Object",
+ "access" : 33,
+ "interfaces" : [ ],
+ "fields" : [ {
+ "field" : "__n",
+ "owner" : "ll",
+ "name" : "n",
+ "access" : 16,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__b",
+ "owner" : "ll",
+ "name" : "b",
+ "access" : 17,
+ "descriptor" : "I",
+ "decoder" : -1974663209
+ } ],
+ "methods" : [ {
+ "method" : "__toString_544",
+ "owner" : "ll",
+ "name" : "toString",
+ "access" : 1,
+ "parameters" : [ ],
+ "descriptor" : "()Ljava/lang/String;"
+ } ],
+ "constructors" : [ {
+ "access" : 0,
+ "descriptor" : "(IILjava/lang/String;Ljava/lang/String;)V"
+ }, {
+ "access" : 0,
+ "descriptor" : "(IILjava/lang/String;Ljava/lang/String;Z[Lll;)V"
+ } ]
+}, {
+ "class" : "Client",
+ "name" : "client",
+ "super" : "bf",
+ "access" : 49,
+ "interfaces" : [ "ko" ],
+ "fields" : [ {
+ "field" : "AbstractFont_alpha",
+ "owner" : "kf",
+ "name" : "y",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "AbstractFont_color",
+ "owner" : "kf",
+ "name" : "u",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "AbstractFont_justificationCurrent",
+ "owner" : "kf",
+ "name" : "v",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "AbstractFont_justificationTotal",
+ "owner" : "kf",
+ "name" : "k",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "AbstractFont_lines",
+ "owner" : "kf",
+ "name" : "w",
+ "access" : 8,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "AbstractFont_modIconSprites",
+ "owner" : "kf",
+ "name" : "b",
+ "access" : 9,
+ "descriptor" : "[Llv;"
+ }, {
+ "field" : "AbstractFont_previousColor",
+ "owner" : "kf",
+ "name" : "o",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "AbstractFont_previousShadow",
+ "owner" : "kf",
+ "name" : "t",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "AbstractFont_random",
+ "owner" : "kf",
+ "name" : "d",
+ "access" : 8,
+ "descriptor" : "Ljava/util/Random;"
+ }, {
+ "field" : "AbstractFont_shadow",
+ "owner" : "kf",
+ "name" : "l",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "AbstractFont_strike",
+ "owner" : "kf",
+ "name" : "e",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "AbstractFont_underline",
+ "owner" : "kf",
+ "name" : "r",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "AttackOption_alwaysRightClick",
+ "owner" : "cx",
+ "name" : "s",
+ "access" : 24,
+ "descriptor" : "Lcx;"
+ }, {
+ "field" : "AttackOption_dependsOnCombatLevels",
+ "owner" : "cx",
+ "name" : "a",
+ "access" : 24,
+ "descriptor" : "Lcx;"
+ }, {
+ "field" : "AttackOption_hidden",
+ "owner" : "cx",
+ "name" : "x",
+ "access" : 24,
+ "descriptor" : "Lcx;"
+ }, {
+ "field" : "AttackOption_leftClickWhereAvailable",
+ "owner" : "cx",
+ "name" : "g",
+ "access" : 24,
+ "descriptor" : "Lcx;"
+ }, {
+ "field" : "ByteArrayPool_large",
+ "owner" : "go",
+ "name" : "f",
+ "access" : 8,
+ "descriptor" : "[[B"
+ }, {
+ "field" : "ByteArrayPool_largeCount",
+ "owner" : "go",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1721552049
+ }, {
+ "field" : "ByteArrayPool_medium",
+ "owner" : "go",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "[[B"
+ }, {
+ "field" : "ByteArrayPool_mediumCount",
+ "owner" : "go",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1124255007
+ }, {
+ "field" : "ByteArrayPool_small",
+ "owner" : "go",
+ "name" : "x",
+ "access" : 8,
+ "descriptor" : "[[B"
+ }, {
+ "field" : "ByteArrayPool_smallCount",
+ "owner" : "go",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -37333117
+ }, {
+ "field" : "Bzip2Decompressor_state",
+ "owner" : "ga",
+ "name" : "q",
+ "access" : 8,
+ "descriptor" : "Lgz;"
+ }, {
+ "field" : "EnumDefinition_cached",
+ "owner" : "jf",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "EnumDefinition_indexCache",
+ "owner" : "jf",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "FontName_bold12",
+ "owner" : "kw",
+ "name" : "g",
+ "access" : 25,
+ "descriptor" : "Lkw;"
+ }, {
+ "field" : "FontName_plain11",
+ "owner" : "kw",
+ "name" : "a",
+ "access" : 25,
+ "descriptor" : "Lkw;"
+ }, {
+ "field" : "FontName_plain12",
+ "owner" : "kw",
+ "name" : "s",
+ "access" : 25,
+ "descriptor" : "Lkw;"
+ }, {
+ "field" : "FontName_verdana11",
+ "owner" : "kw",
+ "name" : "x",
+ "access" : 25,
+ "descriptor" : "Lkw;"
+ }, {
+ "field" : "FontName_verdana13",
+ "owner" : "kw",
+ "name" : "h",
+ "access" : 25,
+ "descriptor" : "Lkw;"
+ }, {
+ "field" : "FontName_verdana15",
+ "owner" : "kw",
+ "name" : "f",
+ "access" : 25,
+ "descriptor" : "Lkw;"
+ }, {
+ "field" : "Formatting_colorEndTag",
+ "owner" : "cg",
+ "name" : "m",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Formatting_comma",
+ "owner" : "cg",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Formatting_lineBreakTag",
+ "owner" : "cg",
+ "name" : "p",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Formatting_pipe",
+ "owner" : "cg",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Formatting_rightArrow",
+ "owner" : "cg",
+ "name" : "f",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Formatting_rightParenthesis",
+ "owner" : "cg",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Formatting_spaceLeftParenthesis",
+ "owner" : "cg",
+ "name" : "x",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Formatting_true",
+ "owner" : "cg",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "HealthBarDefinition_cached",
+ "owner" : "jp",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "HealthBarDefinition_cachedSprites",
+ "owner" : "jp",
+ "name" : "x",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "HitSplatDefinition_cached",
+ "owner" : "je",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "HitSplatDefinition_cachedFonts",
+ "owner" : "je",
+ "name" : "f",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "IndexCache_crc",
+ "owner" : "in",
+ "name" : "ay",
+ "access" : 8,
+ "descriptor" : "Ljava/util/zip/CRC32;"
+ }, {
+ "field" : "IndexStoreActionHandler_lock",
+ "owner" : "id",
+ "name" : "x",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/Object;"
+ }, {
+ "field" : "IndexStoreActionHandler_requestQueue",
+ "owner" : "id",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Lhv;"
+ }, {
+ "field" : "IndexStoreActionHandler_responseQueue",
+ "owner" : "id",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "Lhv;"
+ }, {
+ "field" : "IndexStoreActionHandler_thread",
+ "owner" : "id",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/Thread;"
+ }, {
+ "field" : "IndexStore_buffer",
+ "owner" : "fb",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "[B"
+ }, {
+ "field" : "Instrument_delays",
+ "owner" : "dc",
+ "name" : "i",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Instrument_noise",
+ "owner" : "dc",
+ "name" : "k",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Instrument_phases",
+ "owner" : "dc",
+ "name" : "w",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Instrument_pitchBaseSteps",
+ "owner" : "dc",
+ "name" : "z",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Instrument_pitchSteps",
+ "owner" : "dc",
+ "name" : "j",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Instrument_samples",
+ "owner" : "dc",
+ "name" : "y",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Instrument_sine",
+ "owner" : "dc",
+ "name" : "v",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Instrument_volumeSteps",
+ "owner" : "dc",
+ "name" : "c",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Interpreter_arrayLengths",
+ "owner" : "bx",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Interpreter_arrays",
+ "owner" : "bx",
+ "name" : "f",
+ "access" : 8,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "Interpreter_calendar",
+ "owner" : "bx",
+ "name" : "l",
+ "access" : 8,
+ "descriptor" : "Ljava/util/Calendar;"
+ }, {
+ "field" : "Interpreter_frameDepth",
+ "owner" : "bx",
+ "name" : "n",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 637491727
+ }, {
+ "field" : "Interpreter_frames",
+ "owner" : "bx",
+ "name" : "e",
+ "access" : 8,
+ "descriptor" : "[Lbz;"
+ }, {
+ "field" : "Interpreter_intLocals",
+ "owner" : "bx",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Interpreter_intStack",
+ "owner" : "bx",
+ "name" : "p",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Interpreter_intStackSize",
+ "owner" : "bx",
+ "name" : "m",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -2131355083
+ }, {
+ "field" : "Interpreter_stringLocals",
+ "owner" : "l",
+ "name" : "x",
+ "access" : 8,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "Interpreter_stringStack",
+ "owner" : "bx",
+ "name" : "q",
+ "access" : 8,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "Interpreter_stringStackSize",
+ "owner" : "gj",
+ "name" : "b",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 96183287
+ }, {
+ "field" : "ItemDefinition_cached",
+ "owner" : "jc",
+ "name" : "b",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "ItemDefinition_cachedModels",
+ "owner" : "jc",
+ "name" : "n",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "ItemDefinition_indexCache",
+ "owner" : "fz",
+ "name" : "f",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "ItemDefinition_modelIndexCache",
+ "owner" : "js",
+ "name" : "p",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "KeyHandler_idleCycles",
+ "owner" : "az",
+ "name" : "ci",
+ "access" : 73,
+ "descriptor" : "I",
+ "decoder" : 1818076513
+ }, {
+ "field" : "KeyHandler_instance",
+ "owner" : "az",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Laz;"
+ }, {
+ "field" : "KeyHandler_keyCodes",
+ "owner" : "az",
+ "name" : "ce",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "KeyHandler_pressedKeys",
+ "owner" : "az",
+ "name" : "cb",
+ "access" : 9,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "KitDefinition_cached",
+ "owner" : "jx",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "KitDefinition_indexCache",
+ "owner" : "jx",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "Login_isUsernameRemembered",
+ "owner" : "client",
+ "name" : "ea",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "Login_loadingPercent",
+ "owner" : "cc",
+ "name" : "ae",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1199372921
+ }, {
+ "field" : "Login_loadingText",
+ "owner" : "cc",
+ "name" : "av",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Login_password",
+ "owner" : "cc",
+ "name" : "be",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Login_response0",
+ "owner" : "cc",
+ "name" : "ap",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Login_response1",
+ "owner" : "cc",
+ "name" : "ak",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Login_response2",
+ "owner" : "cc",
+ "name" : "am",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Login_response3",
+ "owner" : "cc",
+ "name" : "bf",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Login_username",
+ "owner" : "cc",
+ "name" : "bo",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Messages_channels",
+ "owner" : "cf",
+ "name" : "a",
+ "access" : 24,
+ "descriptor" : "Ljava/util/Map;"
+ }, {
+ "field" : "Messages_count",
+ "owner" : "cf",
+ "name" : "x",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 729779417
+ }, {
+ "field" : "Messages_hashTable",
+ "owner" : "cf",
+ "name" : "s",
+ "access" : 24,
+ "descriptor" : "Lgs;"
+ }, {
+ "field" : "Messages_queue",
+ "owner" : "cf",
+ "name" : "g",
+ "access" : 24,
+ "descriptor" : "Lhw;"
+ }, {
+ "field" : "ModelData_cosine",
+ "owner" : "dk",
+ "name" : "as",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "ModelData_sine",
+ "owner" : "dk",
+ "name" : "aj",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Model_cosine",
+ "owner" : "dv",
+ "name" : "bb",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Model_sharedSequenceModel",
+ "owner" : "dv",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Ldv;"
+ }, {
+ "field" : "Model_sharedSequenceModelFaceAlphas",
+ "owner" : "dv",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "[B"
+ }, {
+ "field" : "Model_sharedSpotAnimationModel",
+ "owner" : "dv",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "Ldv;"
+ }, {
+ "field" : "Model_sharedSpotAnimationModelFaceAlphas",
+ "owner" : "dv",
+ "name" : "x",
+ "access" : 8,
+ "descriptor" : "[B"
+ }, {
+ "field" : "Model_sine",
+ "owner" : "dv",
+ "name" : "bl",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Model_transformTempX",
+ "owner" : "dv",
+ "name" : "bp",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Model_transformTempY",
+ "owner" : "dv",
+ "name" : "bv",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Model_transformTempZ",
+ "owner" : "dv",
+ "name" : "bg",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "MouseHandler_currentButton",
+ "owner" : "bo",
+ "name" : "n",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -315641075
+ }, {
+ "field" : "MouseHandler_currentButton0",
+ "owner" : "bo",
+ "name" : "p",
+ "access" : 72,
+ "descriptor" : "I",
+ "decoder" : 2102267483
+ }, {
+ "field" : "MouseHandler_idleCycles",
+ "owner" : "bo",
+ "name" : "f",
+ "access" : 73,
+ "descriptor" : "I",
+ "decoder" : -645379741
+ }, {
+ "field" : "MouseHandler_instance",
+ "owner" : "bo",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "Lbo;"
+ }, {
+ "field" : "MouseHandler_lastButton",
+ "owner" : "bo",
+ "name" : "y",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -1875822011
+ }, {
+ "field" : "MouseHandler_lastButton0",
+ "owner" : "bo",
+ "name" : "t",
+ "access" : 72,
+ "descriptor" : "I",
+ "decoder" : -1600629007
+ }, {
+ "field" : "MouseHandler_lastPressedTimeMillis",
+ "owner" : "bo",
+ "name" : "d",
+ "access" : 9,
+ "descriptor" : "J",
+ "decoder" : -9001158457678328183
+ }, {
+ "field" : "MouseHandler_lastPressedTimeMillis0",
+ "owner" : "bo",
+ "name" : "u",
+ "access" : 72,
+ "descriptor" : "J",
+ "decoder" : -5319770607590789123
+ }, {
+ "field" : "MouseHandler_lastPressedX",
+ "owner" : "bo",
+ "name" : "k",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 630458785
+ }, {
+ "field" : "MouseHandler_lastPressedX0",
+ "owner" : "bo",
+ "name" : "l",
+ "access" : 72,
+ "descriptor" : "I",
+ "decoder" : -1553476921
+ }, {
+ "field" : "MouseHandler_lastPressedY",
+ "owner" : "bo",
+ "name" : "v",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 1293941901
+ }, {
+ "field" : "MouseHandler_lastPressedY0",
+ "owner" : "bo",
+ "name" : "o",
+ "access" : 72,
+ "descriptor" : "I",
+ "decoder" : -227692653
+ }, {
+ "field" : "MouseHandler_millis",
+ "owner" : "bo",
+ "name" : "r",
+ "access" : 9,
+ "descriptor" : "J",
+ "decoder" : 3959986213311566259
+ }, {
+ "field" : "MouseHandler_millis0",
+ "owner" : "bo",
+ "name" : "b",
+ "access" : 72,
+ "descriptor" : "J",
+ "decoder" : -5676223914397701093
+ }, {
+ "field" : "MouseHandler_x",
+ "owner" : "bo",
+ "name" : "e",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -212410231
+ }, {
+ "field" : "MouseHandler_x0",
+ "owner" : "bo",
+ "name" : "m",
+ "access" : 72,
+ "descriptor" : "I",
+ "decoder" : 528107
+ }, {
+ "field" : "MouseHandler_y",
+ "owner" : "bo",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 99718613
+ }, {
+ "field" : "MouseHandler_y0",
+ "owner" : "bo",
+ "name" : "q",
+ "access" : 72,
+ "descriptor" : "I",
+ "decoder" : -1970742959
+ }, {
+ "field" : "NetCache_crc",
+ "owner" : "io",
+ "name" : "k",
+ "access" : 9,
+ "descriptor" : "Ljava/util/zip/CRC32;"
+ }, {
+ "field" : "NetCache_crcMismatches",
+ "owner" : "io",
+ "name" : "i",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -151895777
+ }, {
+ "field" : "NetCache_currentResponse",
+ "owner" : "q",
+ "name" : "t",
+ "access" : 9,
+ "descriptor" : "Lig;"
+ }, {
+ "field" : "NetCache_indexCaches",
+ "owner" : "io",
+ "name" : "d",
+ "access" : 9,
+ "descriptor" : "[Lin;"
+ }, {
+ "field" : "NetCache_ioExceptions",
+ "owner" : "io",
+ "name" : "c",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -690937663
+ }, {
+ "field" : "NetCache_pendingPriorityResponses",
+ "owner" : "io",
+ "name" : "f",
+ "access" : 9,
+ "descriptor" : "Lht;"
+ }, {
+ "field" : "NetCache_pendingPriorityResponsesCount",
+ "owner" : "io",
+ "name" : "p",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 266907923
+ }, {
+ "field" : "NetCache_pendingPriorityWrites",
+ "owner" : "io",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "Lht;"
+ }, {
+ "field" : "NetCache_pendingPriorityWritesCount",
+ "owner" : "io",
+ "name" : "h",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -1220574129
+ }, {
+ "field" : "NetCache_pendingResponses",
+ "owner" : "io",
+ "name" : "n",
+ "access" : 9,
+ "descriptor" : "Lht;"
+ }, {
+ "field" : "NetCache_pendingResponsesCount",
+ "owner" : "io",
+ "name" : "e",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 1052911217
+ }, {
+ "field" : "NetCache_pendingWrites",
+ "owner" : "io",
+ "name" : "q",
+ "access" : 9,
+ "descriptor" : "Lht;"
+ }, {
+ "field" : "NetCache_pendingWritesCount",
+ "owner" : "io",
+ "name" : "b",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 1939285225
+ }, {
+ "field" : "NetCache_pendingWritesQueue",
+ "owner" : "io",
+ "name" : "m",
+ "access" : 9,
+ "descriptor" : "Lgd;"
+ }, {
+ "field" : "NetCache_reference",
+ "owner" : "q",
+ "name" : "v",
+ "access" : 9,
+ "descriptor" : "Lgx;"
+ }, {
+ "field" : "NetCache_responseArchiveBuffer",
+ "owner" : "ex",
+ "name" : "o",
+ "access" : 9,
+ "descriptor" : "Lgx;"
+ }, {
+ "field" : "NetCache_responseHeaderBuffer",
+ "owner" : "io",
+ "name" : "l",
+ "access" : 9,
+ "descriptor" : "Lgx;"
+ }, {
+ "field" : "NetCache_socket",
+ "owner" : "io",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Lfq;"
+ }, {
+ "field" : "NpcDefinition_cached",
+ "owner" : "jg",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "NpcDefinition_cachedModels",
+ "owner" : "jg",
+ "name" : "x",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "NpcDefinition_indexCache",
+ "owner" : "gw",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "NpcDefinition_modelIndexCache",
+ "owner" : "jg",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "ObjectDefinition_cached",
+ "owner" : "jy",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "ObjectDefinition_cachedModels",
+ "owner" : "jy",
+ "name" : "p",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "ObjectDefinition_indexCache",
+ "owner" : "jy",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "ObjectDefinition_isLowDetail",
+ "owner" : "jy",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "OverlayDefinition_cached",
+ "owner" : "jw",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "PacketBuffer_masks",
+ "owner" : "ge",
+ "name" : "b",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "ParamKeyDefinition_cached",
+ "owner" : "jz",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "PcmPlayer_sampleRate",
+ "owner" : "ai",
+ "name" : "h",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 1061963149
+ }, {
+ "field" : "PlayerAppearance_cachedModels",
+ "owner" : "il",
+ "name" : "e",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "PlayerType_hardcoreIronman",
+ "owner" : "is",
+ "name" : "f",
+ "access" : 24,
+ "descriptor" : "Lis;"
+ }, {
+ "field" : "PlayerType_ironman",
+ "owner" : "is",
+ "name" : "x",
+ "access" : 24,
+ "descriptor" : "Lis;"
+ }, {
+ "field" : "PlayerType_jagexModerator",
+ "owner" : "is",
+ "name" : "g",
+ "access" : 24,
+ "descriptor" : "Lis;"
+ }, {
+ "field" : "PlayerType_normal",
+ "owner" : "is",
+ "name" : "a",
+ "access" : 24,
+ "descriptor" : "Lis;"
+ }, {
+ "field" : "PlayerType_playerModerator",
+ "owner" : "is",
+ "name" : "s",
+ "access" : 24,
+ "descriptor" : "Lis;"
+ }, {
+ "field" : "PlayerType_ultimateIronman",
+ "owner" : "is",
+ "name" : "h",
+ "access" : 24,
+ "descriptor" : "Lis;"
+ }, {
+ "field" : "Players_count",
+ "owner" : "cd",
+ "name" : "f",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 966947845
+ }, {
+ "field" : "Players_indices",
+ "owner" : "cd",
+ "name" : "p",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Players_orientations",
+ "owner" : "cd",
+ "name" : "n",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Players_regions",
+ "owner" : "cd",
+ "name" : "b",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Players_targetIndices",
+ "owner" : "cd",
+ "name" : "e",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Rasterizer2D_height",
+ "owner" : "lb",
+ "name" : "aa",
+ "access" : 9,
+ "descriptor" : "I"
+ }, {
+ "field" : "Rasterizer2D_pixels",
+ "owner" : "lb",
+ "name" : "af",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Rasterizer2D_width",
+ "owner" : "lb",
+ "name" : "ay",
+ "access" : 9,
+ "descriptor" : "I"
+ }, {
+ "field" : "Rasterizer2D_xClipEnd",
+ "owner" : "lb",
+ "name" : "an",
+ "access" : 12,
+ "descriptor" : "I"
+ }, {
+ "field" : "Rasterizer2D_xClipStart",
+ "owner" : "lb",
+ "name" : "aw",
+ "access" : 9,
+ "descriptor" : "I"
+ }, {
+ "field" : "Rasterizer2D_yClipEnd",
+ "owner" : "lb",
+ "name" : "ah",
+ "access" : 9,
+ "descriptor" : "I"
+ }, {
+ "field" : "Rasterizer2D_yClipStart",
+ "owner" : "lb",
+ "name" : "ab",
+ "access" : 9,
+ "descriptor" : "I"
+ }, {
+ "field" : "Rasterizer3D_alpha",
+ "owner" : "df",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Rasterizer3D_clipHeight",
+ "owner" : "df",
+ "name" : "o",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Rasterizer3D_clipMidX",
+ "owner" : "df",
+ "name" : "r",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Rasterizer3D_clipMidX2",
+ "owner" : "df",
+ "name" : "y",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Rasterizer3D_clipMidY",
+ "owner" : "df",
+ "name" : "t",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Rasterizer3D_clipMidY2",
+ "owner" : "df",
+ "name" : "v",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Rasterizer3D_clipNegativeMidX",
+ "owner" : "df",
+ "name" : "u",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Rasterizer3D_clipNegativeMidY",
+ "owner" : "df",
+ "name" : "k",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Rasterizer3D_clipWidth",
+ "owner" : "df",
+ "name" : "l",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Rasterizer3D_colorPalette",
+ "owner" : "df",
+ "name" : "w",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Rasterizer3D_cosine",
+ "owner" : "df",
+ "name" : "ag",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Rasterizer3D_isLowDetailTexture",
+ "owner" : "df",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "Rasterizer3D_rowOffsets",
+ "owner" : "df",
+ "name" : "d",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Rasterizer3D_sine",
+ "owner" : "df",
+ "name" : "z",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Rasterizer3D_textureLoader",
+ "owner" : "df",
+ "name" : "i",
+ "access" : 9,
+ "descriptor" : "Lew;"
+ }, {
+ "field" : "Rasterizer3D_zoom",
+ "owner" : "df",
+ "name" : "e",
+ "access" : 9,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_cameraPitchCosine",
+ "owner" : "en",
+ "name" : "af",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_cameraPitchSine",
+ "owner" : "en",
+ "name" : "ag",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_cameraX",
+ "owner" : "en",
+ "name" : "c",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_cameraXTile",
+ "owner" : "en",
+ "name" : "w",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_cameraXTileMax",
+ "owner" : "en",
+ "name" : "k",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_cameraXTileMin",
+ "owner" : "en",
+ "name" : "y",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_cameraY",
+ "owner" : "en",
+ "name" : "j",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_cameraYTile",
+ "owner" : "en",
+ "name" : "i",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_cameraYTileMax",
+ "owner" : "en",
+ "name" : "d",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_cameraYTileMin",
+ "owner" : "en",
+ "name" : "v",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_cameraYawCosine",
+ "owner" : "en",
+ "name" : "aa",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_cameraYawSine",
+ "owner" : "en",
+ "name" : "ay",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_cameraZ",
+ "owner" : "en",
+ "name" : "z",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_currentOccluders",
+ "owner" : "en",
+ "name" : "az",
+ "access" : 8,
+ "descriptor" : "[Les;"
+ }, {
+ "field" : "Scene_currentOccludersCount",
+ "owner" : "en",
+ "name" : "al",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_drawnCount",
+ "owner" : "en",
+ "name" : "u",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_isLowDetail",
+ "owner" : "en",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Z"
+ }, {
+ "field" : "Scene_plane",
+ "owner" : "en",
+ "name" : "o",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_planeOccluderCounts",
+ "owner" : "en",
+ "name" : "ai",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Scene_planeOccluders",
+ "owner" : "en",
+ "name" : "aq",
+ "access" : 8,
+ "descriptor" : "[[Les;"
+ }, {
+ "field" : "Scene_selectedPlane",
+ "owner" : "en",
+ "name" : "aw",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_selectedScreenX",
+ "owner" : "en",
+ "name" : "an",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_selectedScreenY",
+ "owner" : "en",
+ "name" : "at",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_selectedX",
+ "owner" : "en",
+ "name" : "ae",
+ "access" : 9,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_selectedY",
+ "owner" : "en",
+ "name" : "av",
+ "access" : 9,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_tilesDeque",
+ "owner" : "en",
+ "name" : "ac",
+ "access" : 8,
+ "descriptor" : "Lhv;"
+ }, {
+ "field" : "Scene_viewportXCenter",
+ "owner" : "en",
+ "name" : "bk",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_viewportXMax",
+ "owner" : "en",
+ "name" : "bb",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_viewportXMin",
+ "owner" : "en",
+ "name" : "bn",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_viewportYCenter",
+ "owner" : "en",
+ "name" : "br",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_viewportYMax",
+ "owner" : "en",
+ "name" : "bw",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Scene_viewportYMin",
+ "owner" : "en",
+ "name" : "bl",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "Script_cached",
+ "owner" : "cs",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "SequenceDefinition_cached",
+ "owner" : "ju",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "SequenceDefinition_indexCache",
+ "owner" : "ju",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "Skills_enabled",
+ "owner" : "iu",
+ "name" : "s",
+ "access" : 25,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "Skills_experienceTable",
+ "owner" : "iu",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "SpotAnimationDefinition_cached",
+ "owner" : "jh",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "SpotAnimationDefinition_cachedModels",
+ "owner" : "jh",
+ "name" : "x",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "SpotAnimationDefinition_indexCache",
+ "owner" : "jh",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "SpotAnimationDefinition_modelIndexCache",
+ "owner" : "jh",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "Sprite_cached",
+ "owner" : "jc",
+ "name" : "e",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "Strings_almostEverywhere",
+ "owner" : "it",
+ "name" : "hm",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_andTheProtectItemPrayerWontWork",
+ "owner" : "it",
+ "name" : "hf",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_attack",
+ "owner" : "it",
+ "name" : "fp",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_cancel",
+ "owner" : "it",
+ "name" : "ii",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_checkingForUpdates",
+ "owner" : "it",
+ "name" : "y",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_chooseOption",
+ "owner" : "it",
+ "name" : "fg",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_close",
+ "owner" : "it",
+ "name" : "ff",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_connectingToServer",
+ "owner" : "it",
+ "name" : "if",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_connectingToUpdateServer",
+ "owner" : "it",
+ "name" : "u",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_connectionLost",
+ "owner" : "it",
+ "name" : "r",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_continue",
+ "owner" : "it",
+ "name" : "p",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_drop",
+ "owner" : "it",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_examine",
+ "owner" : "it",
+ "name" : "et",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_existingUser",
+ "owner" : "it",
+ "name" : "ie",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_fromYourFriendListFirst",
+ "owner" : "it",
+ "name" : "fa",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_fromYourIgnoreListFirst",
+ "owner" : "it",
+ "name" : "fv",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_hasLoggedIn",
+ "owner" : "it",
+ "name" : "eq",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_hasLoggedOut",
+ "owner" : "it",
+ "name" : "eu",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_hidden",
+ "owner" : "it",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_isAlreadyOnYourFriendList",
+ "owner" : "it",
+ "name" : "fk",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_level",
+ "owner" : "it",
+ "name" : "fn",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadedConfig",
+ "owner" : "it",
+ "name" : "z",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadedFonts",
+ "owner" : "it",
+ "name" : "w",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadedInputHandler",
+ "owner" : "it",
+ "name" : "ab",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadedInterfaces",
+ "owner" : "it",
+ "name" : "at",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadedSprites",
+ "owner" : "it",
+ "name" : "af",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadedTextures",
+ "owner" : "it",
+ "name" : "aa",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadedTitleScreen",
+ "owner" : "it",
+ "name" : "c",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadedUpdateList",
+ "owner" : "it",
+ "name" : "k",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadedWordpack",
+ "owner" : "it",
+ "name" : "aw",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadedWorldMap",
+ "owner" : "it",
+ "name" : "av",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loading",
+ "owner" : "it",
+ "name" : "ko",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadingConfig",
+ "owner" : "it",
+ "name" : "j",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadingFonts",
+ "owner" : "it",
+ "name" : "d",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadingInterfaces",
+ "owner" : "it",
+ "name" : "an",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadingPleaseWait",
+ "owner" : "it",
+ "name" : "e",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadingSprites",
+ "owner" : "it",
+ "name" : "ag",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadingTextures",
+ "owner" : "it",
+ "name" : "ay",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadingTitleScreen",
+ "owner" : "it",
+ "name" : "i",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadingWordpack",
+ "owner" : "it",
+ "name" : "ah",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_loadingWorldMap",
+ "owner" : "it",
+ "name" : "ae",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_login",
+ "owner" : "it",
+ "name" : "iy",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_membersObject",
+ "owner" : "it",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_moreOptions",
+ "owner" : "it",
+ "name" : "fj",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_newUser",
+ "owner" : "it",
+ "name" : "ik",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_notWorkOnThisWorld",
+ "owner" : "it",
+ "name" : "hd",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_null",
+ "owner" : "it",
+ "name" : "q",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_ok",
+ "owner" : "it",
+ "name" : "h",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_password",
+ "owner" : "it",
+ "name" : "ic",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_pin",
+ "owner" : "it",
+ "name" : "ia",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_playersCanAttackEachOther",
+ "owner" : "it",
+ "name" : "hq",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_playersCanAttackEachOtherAlmostEverywhere",
+ "owner" : "it",
+ "name" : "hl",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_pleaseEnterYourPassword",
+ "owner" : "it",
+ "name" : "dm",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_pleaseEnterYourUsername",
+ "owner" : "it",
+ "name" : "dh",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_pleaseRemoveFriend",
+ "owner" : "it",
+ "name" : "fh",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_pleaseRemoveIgnore",
+ "owner" : "it",
+ "name" : "fs",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_pleaseWait",
+ "owner" : "it",
+ "name" : "fm",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_pleaseWaitAttemptingToReestablish",
+ "owner" : "it",
+ "name" : "t",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_preparedSoundEngine",
+ "owner" : "it",
+ "name" : "v",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_preparedVisibilityMap",
+ "owner" : "it",
+ "name" : "o",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_select",
+ "owner" : "it",
+ "name" : "f",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_skill",
+ "owner" : "it",
+ "name" : "fo",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_space",
+ "owner" : "it",
+ "name" : "fq",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_startingGameEngine",
+ "owner" : "it",
+ "name" : "l",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_take",
+ "owner" : "it",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_theProtectItemPrayerWill",
+ "owner" : "it",
+ "name" : "hu",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_thisIsABetaWorld",
+ "owner" : "it",
+ "name" : "hc",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_thisIsAHighRiskPvpWorld",
+ "owner" : "it",
+ "name" : "hn",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_thisIsAHighRiskWorld",
+ "owner" : "it",
+ "name" : "hw",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_thisIsAPvpWorld",
+ "owner" : "it",
+ "name" : "hg",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_unableToFind",
+ "owner" : "it",
+ "name" : "eh",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_use",
+ "owner" : "it",
+ "name" : "ec",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_walkHere",
+ "owner" : "it",
+ "name" : "fe",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_warning",
+ "owner" : "it",
+ "name" : "he",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_welcomeToRuneScape",
+ "owner" : "it",
+ "name" : "im",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_yourFriendListIsFull",
+ "owner" : "it",
+ "name" : "fx",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_yourIgnoreListIsFull",
+ "owner" : "it",
+ "name" : "ft",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Strings_yourNormalAccountWillNotBeAffected",
+ "owner" : "it",
+ "name" : "hb",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "Texture_animatedPixels",
+ "owner" : "db",
+ "name" : "l",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Tiles_heights",
+ "owner" : "bd",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "[[[I"
+ }, {
+ "field" : "Tiles_minPlane",
+ "owner" : "bd",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1882260411
+ }, {
+ "field" : "Tiles_renderFlags",
+ "owner" : "bd",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "[[[B"
+ }, {
+ "field" : "TriBool_false",
+ "owner" : "kz",
+ "name" : "g",
+ "access" : 25,
+ "descriptor" : "Lkz;"
+ }, {
+ "field" : "TriBool_true",
+ "owner" : "kz",
+ "name" : "s",
+ "access" : 25,
+ "descriptor" : "Lkz;"
+ }, {
+ "field" : "TriBool_unknown",
+ "owner" : "kz",
+ "name" : "a",
+ "access" : 25,
+ "descriptor" : "Lkz;"
+ }, {
+ "field" : "UnderlayDefinition_cached",
+ "owner" : "jo",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "UnderlayDefinition_indexCache",
+ "owner" : "jo",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "VarbitDefinition_cached",
+ "owner" : "jt",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "VarbitDefinition_indexCache",
+ "owner" : "jt",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "VarpDefinition_cached",
+ "owner" : "jn",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "Varps_main",
+ "owner" : "hs",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Varps_masks",
+ "owner" : "hs",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "Varps_temp",
+ "owner" : "hs",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "ViewportMouse_entityCount",
+ "owner" : "di",
+ "name" : "t",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 2116439793
+ }, {
+ "field" : "ViewportMouse_entityTags",
+ "owner" : "di",
+ "name" : "l",
+ "access" : 9,
+ "descriptor" : "[J"
+ }, {
+ "field" : "ViewportMouse_false0",
+ "owner" : "di",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "Z"
+ }, {
+ "field" : "ViewportMouse_isInViewport",
+ "owner" : "di",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Z"
+ }, {
+ "field" : "ViewportMouse_x",
+ "owner" : "di",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -1036087683
+ }, {
+ "field" : "ViewportMouse_y",
+ "owner" : "di",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -577143005
+ }, {
+ "field" : "Widget_cachedFonts",
+ "owner" : "ia",
+ "name" : "t",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "Widget_cachedModels",
+ "owner" : "ia",
+ "name" : "r",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "Widget_indexCache",
+ "owner" : "ax",
+ "name" : "m",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "WorldMapCacheName_area",
+ "owner" : "ae",
+ "name" : "x",
+ "access" : 24,
+ "descriptor" : "Lae;"
+ }, {
+ "field" : "WorldMapCacheName_compositeMap",
+ "owner" : "ae",
+ "name" : "s",
+ "access" : 25,
+ "descriptor" : "Lae;"
+ }, {
+ "field" : "WorldMapCacheName_compositeTexture",
+ "owner" : "ae",
+ "name" : "g",
+ "access" : 25,
+ "descriptor" : "Lae;"
+ }, {
+ "field" : "WorldMapCacheName_details",
+ "owner" : "ae",
+ "name" : "a",
+ "access" : 25,
+ "descriptor" : "Lae;"
+ }, {
+ "field" : "WorldMapCacheName_labels",
+ "owner" : "ae",
+ "name" : "h",
+ "access" : 25,
+ "descriptor" : "Lae;"
+ }, {
+ "field" : "WorldMapElement_cached",
+ "owner" : "jd",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "[Ljd;"
+ }, {
+ "field" : "WorldMapElement_cachedSprites",
+ "owner" : "jd",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "WorldMapElement_count",
+ "owner" : "jd",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -1629647817
+ }, {
+ "field" : "WorldMapLabelSize_large",
+ "owner" : "y",
+ "name" : "g",
+ "access" : 25,
+ "descriptor" : "Ly;"
+ }, {
+ "field" : "WorldMapLabelSize_medium",
+ "owner" : "y",
+ "name" : "s",
+ "access" : 25,
+ "descriptor" : "Ly;"
+ }, {
+ "field" : "WorldMapLabelSize_small",
+ "owner" : "y",
+ "name" : "a",
+ "access" : 25,
+ "descriptor" : "Ly;"
+ }, {
+ "field" : "applet",
+ "owner" : "fe",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Ljava/applet/Applet;"
+ }, {
+ "field" : "base37Table",
+ "owner" : "kb",
+ "name" : "a",
+ "access" : 24,
+ "descriptor" : "[C"
+ }, {
+ "field" : "baseX",
+ "owner" : "e",
+ "name" : "fc",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 115658669
+ }, {
+ "field" : "baseY",
+ "owner" : "h",
+ "name" : "fs",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 10887811
+ }, {
+ "field" : "cacheDirectoryLocations",
+ "owner" : "kj",
+ "name" : "u",
+ "access" : 9,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "cameraPitch",
+ "owner" : "gn",
+ "name" : "hg",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -355288643
+ }, {
+ "field" : "cameraX",
+ "owner" : "ar",
+ "name" : "hh",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1471454883
+ }, {
+ "field" : "cameraY",
+ "owner" : "ak",
+ "name" : "hr",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1843719487
+ }, {
+ "field" : "cameraYaw",
+ "owner" : "bp",
+ "name" : "hq",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 806214979
+ }, {
+ "field" : "cameraZ",
+ "owner" : "kw",
+ "name" : "he",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1857263827
+ }, {
+ "field" : "canvasHeight",
+ "owner" : "ar",
+ "name" : "j",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -1092194399
+ }, {
+ "field" : "canvasWidth",
+ "owner" : "b",
+ "name" : "c",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -115235313
+ }, {
+ "field" : "chatEffects",
+ "owner" : "client",
+ "name" : "mc",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -185716563
+ }, {
+ "field" : "clDat",
+ "owner" : "fm",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "Ljava/io/File;"
+ }, {
+ "field" : "clanChat",
+ "owner" : "ai",
+ "name" : "pt",
+ "access" : 8,
+ "descriptor" : "Lky;"
+ }, {
+ "field" : "clickedWidget",
+ "owner" : "client",
+ "name" : "mk",
+ "access" : 8,
+ "descriptor" : "Lia;"
+ }, {
+ "field" : "clickedWidgetParent",
+ "owner" : "client",
+ "name" : "ms",
+ "access" : 8,
+ "descriptor" : "Lia;"
+ }, {
+ "field" : "client",
+ "owner" : "bv",
+ "name" : "ak",
+ "access" : 8,
+ "descriptor" : "Lclient;"
+ }, {
+ "field" : "clientPreferences",
+ "owner" : "h",
+ "name" : "sq",
+ "access" : 8,
+ "descriptor" : "Lbt;"
+ }, {
+ "field" : "clientType",
+ "owner" : "client",
+ "name" : "bl",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -941989807
+ }, {
+ "field" : "clock",
+ "owner" : "iy",
+ "name" : "e",
+ "access" : 8,
+ "descriptor" : "Lfl;"
+ }, {
+ "field" : "collisionMaps",
+ "owner" : "client",
+ "name" : "w",
+ "access" : 8,
+ "descriptor" : "[Lfk;"
+ }, {
+ "field" : "combatTargetPlayerIndex",
+ "owner" : "client",
+ "name" : "ks",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1633189555
+ }, {
+ "field" : "cp1252AsciiExtension",
+ "owner" : "kk",
+ "name" : "a",
+ "access" : 25,
+ "descriptor" : "[C"
+ }, {
+ "field" : "crossSprites",
+ "owner" : "b",
+ "name" : "gs",
+ "access" : 8,
+ "descriptor" : "[Lld;"
+ }, {
+ "field" : "currentLevels",
+ "owner" : "client",
+ "name" : "ki",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "currentTimeMsLast",
+ "owner" : "gj",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "J",
+ "decoder" : 1670260844569960435
+ }, {
+ "field" : "currentTimeMsOffset",
+ "owner" : "gj",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "J",
+ "decoder" : -9006316027097542279
+ }, {
+ "field" : "cycle",
+ "owner" : "client",
+ "name" : "ct",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -523356653
+ }, {
+ "field" : "dat2File",
+ "owner" : "fm",
+ "name" : "r",
+ "access" : 9,
+ "descriptor" : "Ldx;"
+ }, {
+ "field" : "decimator",
+ "owner" : "f",
+ "name" : "qe",
+ "access" : 8,
+ "descriptor" : "Ldn;"
+ }, {
+ "field" : "destinationX",
+ "owner" : "client",
+ "name" : "pb",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 457912863
+ }, {
+ "field" : "destinationY",
+ "owner" : "client",
+ "name" : "pv",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -215982147
+ }, {
+ "field" : "directBufferUnavailable",
+ "owner" : "gl",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "displayFps",
+ "owner" : "client",
+ "name" : "co",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "dragInventoryWidget",
+ "owner" : "ad",
+ "name" : "jr",
+ "access" : 8,
+ "descriptor" : "Lia;"
+ }, {
+ "field" : "dragItemSlotDestination",
+ "owner" : "client",
+ "name" : "je",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1167903951
+ }, {
+ "field" : "dragItemSlotSource",
+ "owner" : "client",
+ "name" : "jz",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1927638763
+ }, {
+ "field" : "experience",
+ "owner" : "client",
+ "name" : "kf",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "followerIndex",
+ "owner" : "client",
+ "name" : "mv",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1901682117
+ }, {
+ "field" : "followerOpsLowPriority",
+ "owner" : "client",
+ "name" : "ly",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "fontBold12",
+ "owner" : "be",
+ "name" : "fk",
+ "access" : 8,
+ "descriptor" : "Lkt;"
+ }, {
+ "field" : "fontNameVerdana11",
+ "owner" : "lq",
+ "name" : "b",
+ "access" : 24,
+ "descriptor" : "Lkw;"
+ }, {
+ "field" : "fontNameVerdana13",
+ "owner" : "lq",
+ "name" : "n",
+ "access" : 24,
+ "descriptor" : "Lkw;"
+ }, {
+ "field" : "fontNameVerdana15",
+ "owner" : "lq",
+ "name" : "e",
+ "access" : 24,
+ "descriptor" : "Lkw;"
+ }, {
+ "field" : "fontPlain11",
+ "owner" : "client",
+ "name" : "fb",
+ "access" : 8,
+ "descriptor" : "Lkt;"
+ }, {
+ "field" : "fontPlain12",
+ "owner" : "es",
+ "name" : "fx",
+ "access" : 8,
+ "descriptor" : "Lkt;"
+ }, {
+ "field" : "fonts",
+ "owner" : "bm",
+ "name" : "fi",
+ "access" : 8,
+ "descriptor" : "Lke;"
+ }, {
+ "field" : "fontsMap",
+ "owner" : "client",
+ "name" : "ft",
+ "access" : 8,
+ "descriptor" : "Ljava/util/HashMap;"
+ }, {
+ "field" : "fps",
+ "owner" : "bf",
+ "name" : "n",
+ "access" : 12,
+ "descriptor" : "I",
+ "decoder" : -689075277
+ }, {
+ "field" : "friendSystem",
+ "owner" : "ar",
+ "name" : "rt",
+ "access" : 9,
+ "descriptor" : "Lbc;"
+ }, {
+ "field" : "gameBuild",
+ "owner" : "client",
+ "name" : "bd",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1197033905
+ }, {
+ "field" : "gameDrawingMode",
+ "owner" : "client",
+ "name" : "oq",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -400556095
+ }, {
+ "field" : "gameObjects",
+ "owner" : "en",
+ "name" : "ab",
+ "access" : 8,
+ "descriptor" : "[Ler;"
+ }, {
+ "field" : "gameShell",
+ "owner" : "bf",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "Lbf;"
+ }, {
+ "field" : "gameState",
+ "owner" : "client",
+ "name" : "bw",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -239871291
+ }, {
+ "field" : "garbageCollector",
+ "owner" : "go",
+ "name" : "ao",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/management/GarbageCollectorMXBean;"
+ }, {
+ "field" : "garbageCollectorLastCheckTimeMs",
+ "owner" : "bf",
+ "name" : "ax",
+ "access" : 8,
+ "descriptor" : "J",
+ "decoder" : -5124857986524201693
+ }, {
+ "field" : "garbageCollectorLastCollectionTime",
+ "owner" : "bf",
+ "name" : "ad",
+ "access" : 8,
+ "descriptor" : "J",
+ "decoder" : 4493268428812309865
+ }, {
+ "field" : "grandExchangeEvents",
+ "owner" : "ad",
+ "name" : "sz",
+ "access" : 8,
+ "descriptor" : "Lp;"
+ }, {
+ "field" : "grandExchangeOffers",
+ "owner" : "client",
+ "name" : "sj",
+ "access" : 8,
+ "descriptor" : "[Lb;"
+ }, {
+ "field" : "graphicsObjects",
+ "owner" : "client",
+ "name" : "ke",
+ "access" : 8,
+ "descriptor" : "Lhv;"
+ }, {
+ "field" : "groundItems",
+ "owner" : "client",
+ "name" : "ky",
+ "access" : 8,
+ "descriptor" : "[[[Lhv;"
+ }, {
+ "field" : "gzipDecompressor",
+ "owner" : "iz",
+ "name" : "t",
+ "access" : 8,
+ "descriptor" : "Lgn;"
+ }, {
+ "field" : "hasFocus",
+ "owner" : "bf",
+ "name" : "az",
+ "access" : 72,
+ "descriptor" : "Z"
+ }, {
+ "field" : "headIconHintSprites",
+ "owner" : "z",
+ "name" : "gv",
+ "access" : 8,
+ "descriptor" : "[Lld;"
+ }, {
+ "field" : "headIconPkSprites",
+ "owner" : "id",
+ "name" : "gk",
+ "access" : 8,
+ "descriptor" : "[Lld;"
+ }, {
+ "field" : "headIconPrayerSprites",
+ "owner" : "bv",
+ "name" : "gd",
+ "access" : 8,
+ "descriptor" : "[Lld;"
+ }, {
+ "field" : "hintArrowHeight",
+ "owner" : "client",
+ "name" : "ci",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -136465419
+ }, {
+ "field" : "hintArrowNpcIndex",
+ "owner" : "client",
+ "name" : "cn",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -546759927
+ }, {
+ "field" : "hintArrowPlayerIndex",
+ "owner" : "client",
+ "name" : "cw",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 545121427
+ }, {
+ "field" : "hintArrowSubX",
+ "owner" : "client",
+ "name" : "ce",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -860300909
+ }, {
+ "field" : "hintArrowSubY",
+ "owner" : "client",
+ "name" : "cj",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 324021795
+ }, {
+ "field" : "hintArrowType",
+ "owner" : "client",
+ "name" : "ck",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 181127397
+ }, {
+ "field" : "hintArrowX",
+ "owner" : "client",
+ "name" : "cv",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -37907065
+ }, {
+ "field" : "hintArrowY",
+ "owner" : "client",
+ "name" : "cu",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -76133787
+ }, {
+ "field" : "huffman",
+ "owner" : "kc",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Lfy;"
+ }, {
+ "field" : "idx255File",
+ "owner" : "fm",
+ "name" : "t",
+ "access" : 9,
+ "descriptor" : "Ldx;"
+ }, {
+ "field" : "idxCount",
+ "owner" : "bh",
+ "name" : "f",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -1727430177
+ }, {
+ "field" : "idxFiles",
+ "owner" : "bn",
+ "name" : "l",
+ "access" : 9,
+ "descriptor" : "[Ldx;"
+ }, {
+ "field" : "indexCache0",
+ "owner" : "ah",
+ "name" : "do",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache1",
+ "owner" : "ed",
+ "name" : "dd",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache10",
+ "owner" : "hb",
+ "name" : "dw",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache11",
+ "owner" : "j",
+ "name" : "db",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache12",
+ "owner" : "eq",
+ "name" : "dm",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache13",
+ "owner" : "az",
+ "name" : "de",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache14",
+ "owner" : "et",
+ "name" : "dv",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache15",
+ "owner" : "g",
+ "name" : "di",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache16",
+ "owner" : "fv",
+ "name" : "ev",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache2",
+ "owner" : "t",
+ "name" : "dc",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache3",
+ "owner" : "aw",
+ "name" : "dj",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache4",
+ "owner" : "bp",
+ "name" : "dx",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache5",
+ "owner" : "bp",
+ "name" : "da",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache6",
+ "owner" : "fm",
+ "name" : "du",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache7",
+ "owner" : "ag",
+ "name" : "dy",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache8",
+ "owner" : "ib",
+ "name" : "dk",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCache9",
+ "owner" : "fu",
+ "name" : "dh",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "indexCacheLoaderIndex",
+ "owner" : "client",
+ "name" : "ss",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1507808255
+ }, {
+ "field" : "indexCacheLoaders",
+ "owner" : "client",
+ "name" : "so",
+ "access" : 8,
+ "descriptor" : "Ljava/util/ArrayList;"
+ }, {
+ "field" : "indexStore255",
+ "owner" : "v",
+ "name" : "sh",
+ "access" : 8,
+ "descriptor" : "Lfb;"
+ }, {
+ "field" : "instanceChunkTemplates",
+ "owner" : "client",
+ "name" : "gm",
+ "access" : 8,
+ "descriptor" : "[[[I"
+ }, {
+ "field" : "isCameraLocked",
+ "owner" : "client",
+ "name" : "qt",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isDraggingWidget",
+ "owner" : "client",
+ "name" : "nc",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isInInstance",
+ "owner" : "client",
+ "name" : "gj",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isItemSelected",
+ "owner" : "client",
+ "name" : "lq",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 217766879
+ }, {
+ "field" : "isKilled",
+ "owner" : "bf",
+ "name" : "f",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isLoading",
+ "owner" : "client",
+ "name" : "cc",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isLowDetail",
+ "owner" : "client",
+ "name" : "bv",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isMembersWorld",
+ "owner" : "client",
+ "name" : "bp",
+ "access" : 9,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isMenuOpen",
+ "owner" : "client",
+ "name" : "kk",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isResizable",
+ "owner" : "client",
+ "name" : "om",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isSpellSelected",
+ "owner" : "client",
+ "name" : "lc",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "isStereo",
+ "owner" : "ca",
+ "name" : "f",
+ "access" : 12,
+ "descriptor" : "Z"
+ }, {
+ "field" : "itemContainers",
+ "owner" : "bv",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Lht;"
+ }, {
+ "field" : "itemDragDuration",
+ "owner" : "client",
+ "name" : "jc",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 776935403
+ }, {
+ "field" : "javaVendor",
+ "owner" : "fo",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "javaVersion",
+ "owner" : "fo",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "js5ConnectState",
+ "owner" : "client",
+ "name" : "dn",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -360399881
+ }, {
+ "field" : "js5Errors",
+ "owner" : "client",
+ "name" : "en",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 306506173
+ }, {
+ "field" : "js5Socket",
+ "owner" : "ar",
+ "name" : "dq",
+ "access" : 8,
+ "descriptor" : "Lfq;"
+ }, {
+ "field" : "js5SocketTask",
+ "owner" : "ad",
+ "name" : "dl",
+ "access" : 8,
+ "descriptor" : "Lfn;"
+ }, {
+ "field" : "js5StartTimeMs",
+ "owner" : "jo",
+ "name" : "dr",
+ "access" : 8,
+ "descriptor" : "J",
+ "decoder" : -5832929330207401863
+ }, {
+ "field" : "language",
+ "owner" : "client",
+ "name" : "bg",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1336712397
+ }, {
+ "field" : "levels",
+ "owner" : "client",
+ "name" : "kt",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "loadedWidgetGroups",
+ "owner" : "ia",
+ "name" : "p",
+ "access" : 9,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "localPlayer",
+ "owner" : "w",
+ "name" : "jk",
+ "access" : 8,
+ "descriptor" : "Lbw;"
+ }, {
+ "field" : "localPlayerIndex",
+ "owner" : "client",
+ "name" : "jj",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1798081145
+ }, {
+ "field" : "localPlayerName",
+ "owner" : "fe",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "loginState",
+ "owner" : "client",
+ "name" : "em",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -895242893
+ }, {
+ "field" : "loginType",
+ "owner" : "az",
+ "name" : "bi",
+ "access" : 8,
+ "descriptor" : "Lll;"
+ }, {
+ "field" : "mapDotSprites",
+ "owner" : "s",
+ "name" : "gt",
+ "access" : 8,
+ "descriptor" : "[Lld;"
+ }, {
+ "field" : "mapIconCount",
+ "owner" : "client",
+ "name" : "pu",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1927960511
+ }, {
+ "field" : "mapIconXs",
+ "owner" : "client",
+ "name" : "px",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "mapIconYs",
+ "owner" : "client",
+ "name" : "pr",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "mapIcons",
+ "owner" : "client",
+ "name" : "pn",
+ "access" : 8,
+ "descriptor" : "[Lld;"
+ }, {
+ "field" : "mapMarkerSprites",
+ "owner" : "es",
+ "name" : "gf",
+ "access" : 8,
+ "descriptor" : "[Lld;"
+ }, {
+ "field" : "mapSceneSprites",
+ "owner" : "bk",
+ "name" : "gc",
+ "access" : 8,
+ "descriptor" : "[Llv;"
+ }, {
+ "field" : "menuActions",
+ "owner" : "client",
+ "name" : "lg",
+ "access" : 8,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "menuArguments0",
+ "owner" : "client",
+ "name" : "lk",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "menuArguments1",
+ "owner" : "client",
+ "name" : "lt",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "menuArguments2",
+ "owner" : "client",
+ "name" : "lf",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "menuHeight",
+ "owner" : "eg",
+ "name" : "kh",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1803129185
+ }, {
+ "field" : "menuOpcodes",
+ "owner" : "client",
+ "name" : "lo",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "menuOptionsCount",
+ "owner" : "client",
+ "name" : "ln",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1576326627
+ }, {
+ "field" : "menuShiftClick",
+ "owner" : "client",
+ "name" : "la",
+ "access" : 8,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "menuTargetNames",
+ "owner" : "client",
+ "name" : "lh",
+ "access" : 8,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "menuWidth",
+ "owner" : "ip",
+ "name" : "kv",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1212826191
+ }, {
+ "field" : "menuX",
+ "owner" : "ah",
+ "name" : "kp",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 685372481
+ }, {
+ "field" : "menuY",
+ "owner" : "q",
+ "name" : "kb",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1598381831
+ }, {
+ "field" : "midiPcmStream",
+ "owner" : "ek",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "Lhn;"
+ }, {
+ "field" : "minimapOrientation",
+ "owner" : "client",
+ "name" : "hw",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1843309621
+ }, {
+ "field" : "minimapState",
+ "owner" : "client",
+ "name" : "qo",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 780008963
+ }, {
+ "field" : "modIconSprites",
+ "owner" : "fa",
+ "name" : "gp",
+ "access" : 8,
+ "descriptor" : "[Llv;"
+ }, {
+ "field" : "modelViewportXs",
+ "owner" : "dv",
+ "name" : "ai",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "modelViewportYs",
+ "owner" : "dv",
+ "name" : "aq",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "mouseCrossColor",
+ "owner" : "client",
+ "name" : "jl",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -578763473
+ }, {
+ "field" : "mouseCrossState",
+ "owner" : "client",
+ "name" : "jd",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 2039304517
+ }, {
+ "field" : "mouseCrossX",
+ "owner" : "client",
+ "name" : "ja",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1345185859
+ }, {
+ "field" : "mouseCrossY",
+ "owner" : "client",
+ "name" : "jn",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 779145051
+ }, {
+ "field" : "mouseLastLastPressedTimeMillis",
+ "owner" : "client",
+ "name" : "cb",
+ "access" : 8,
+ "descriptor" : "J",
+ "decoder" : 2910245912741037697
+ }, {
+ "field" : "mouseRecorder",
+ "owner" : "el",
+ "name" : "cp",
+ "access" : 8,
+ "descriptor" : "Lbn;"
+ }, {
+ "field" : "mouseWheel",
+ "owner" : "co",
+ "name" : "od",
+ "access" : 8,
+ "descriptor" : "Lff;"
+ }, {
+ "field" : "mouseWheelRotation",
+ "owner" : "client",
+ "name" : "oy",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1124377519
+ }, {
+ "field" : "mousedOverWidgetIf1",
+ "owner" : "jg",
+ "name" : "lm",
+ "access" : 8,
+ "descriptor" : "Lia;"
+ }, {
+ "field" : "musicTrack",
+ "owner" : "ae",
+ "name" : "e",
+ "access" : 9,
+ "descriptor" : "Lhx;"
+ }, {
+ "field" : "musicTrackArchiveId",
+ "owner" : "hd",
+ "name" : "p",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 1582336385
+ }, {
+ "field" : "musicTrackBoolean",
+ "owner" : "hd",
+ "name" : "n",
+ "access" : 9,
+ "descriptor" : "Z"
+ }, {
+ "field" : "musicTrackFileId",
+ "owner" : "hd",
+ "name" : "m",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -1729655047
+ }, {
+ "field" : "npcAttackOption",
+ "owner" : "client",
+ "name" : "dz",
+ "access" : 8,
+ "descriptor" : "Lcx;"
+ }, {
+ "field" : "npcCount",
+ "owner" : "client",
+ "name" : "et",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 860111793
+ }, {
+ "field" : "npcIndices",
+ "owner" : "client",
+ "name" : "fp",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "npcs",
+ "owner" : "client",
+ "name" : "ec",
+ "access" : 8,
+ "descriptor" : "[Lcm;"
+ }, {
+ "field" : "objectSounds",
+ "owner" : "bs",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Lhv;"
+ }, {
+ "field" : "osName",
+ "owner" : "cr",
+ "name" : "w",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "osNameLowerCase",
+ "owner" : "z",
+ "name" : "d",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "overheadText",
+ "owner" : "client",
+ "name" : "id",
+ "access" : 8,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "overheadTextAscents",
+ "owner" : "client",
+ "name" : "ij",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "overheadTextColors",
+ "owner" : "client",
+ "name" : "ib",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "overheadTextCount",
+ "owner" : "client",
+ "name" : "ii",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1219875627
+ }, {
+ "field" : "overheadTextCyclesRemaining",
+ "owner" : "client",
+ "name" : "ig",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "overheadTextEffects",
+ "owner" : "client",
+ "name" : "iw",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "overheadTextLimit",
+ "owner" : "client",
+ "name" : "iv",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -186345625
+ }, {
+ "field" : "overheadTextXOffsets",
+ "owner" : "client",
+ "name" : "is",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "overheadTextXs",
+ "owner" : "client",
+ "name" : "ir",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "overheadTextYs",
+ "owner" : "client",
+ "name" : "ih",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "packetBufferNodes",
+ "owner" : "fa",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "[Lfa;"
+ }, {
+ "field" : "packetWriter",
+ "owner" : "client",
+ "name" : "fo",
+ "access" : 25,
+ "descriptor" : "Lck;"
+ }, {
+ "field" : "pcmPlayer0",
+ "owner" : "be",
+ "name" : "qf",
+ "access" : 8,
+ "descriptor" : "Lcz;"
+ }, {
+ "field" : "pcmPlayer1",
+ "owner" : "by",
+ "name" : "qk",
+ "access" : 8,
+ "descriptor" : "Lcz;"
+ }, {
+ "field" : "pcmPlayerCount",
+ "owner" : "cz",
+ "name" : "q",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1314449701
+ }, {
+ "field" : "pcmPlayerProvider",
+ "owner" : "ba",
+ "name" : "r",
+ "access" : 8,
+ "descriptor" : "Lcw;"
+ }, {
+ "field" : "pcmStreamMixer",
+ "owner" : "q",
+ "name" : "qv",
+ "access" : 8,
+ "descriptor" : "Lcn;"
+ }, {
+ "field" : "plane",
+ "owner" : "fc",
+ "name" : "js",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1552569051
+ }, {
+ "field" : "platformInfo",
+ "owner" : "an",
+ "name" : "sd",
+ "access" : 8,
+ "descriptor" : "Lli;"
+ }, {
+ "field" : "platformInfoProvider",
+ "owner" : "client",
+ "name" : "sw",
+ "access" : 8,
+ "descriptor" : "Llx;"
+ }, {
+ "field" : "playerAttackOption",
+ "owner" : "client",
+ "name" : "cl",
+ "access" : 8,
+ "descriptor" : "Lcx;"
+ }, {
+ "field" : "playerMenuActions",
+ "owner" : "client",
+ "name" : "kz",
+ "access" : 8,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "playerMenuOpcodes",
+ "owner" : "client",
+ "name" : "ko",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "players",
+ "owner" : "client",
+ "name" : "jm",
+ "access" : 8,
+ "descriptor" : "[Lbw;"
+ }, {
+ "field" : "port1",
+ "owner" : "fq",
+ "name" : "ef",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -280256619
+ }, {
+ "field" : "port2",
+ "owner" : "r",
+ "name" : "er",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1082272795
+ }, {
+ "field" : "port3",
+ "owner" : "fx",
+ "name" : "ex",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1114384081
+ }, {
+ "field" : "projectiles",
+ "owner" : "client",
+ "name" : "kw",
+ "access" : 8,
+ "descriptor" : "Lhv;"
+ }, {
+ "field" : "publicChatMode",
+ "owner" : "client",
+ "name" : "py",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -470404991
+ }, {
+ "field" : "randomDat",
+ "owner" : "fm",
+ "name" : "e",
+ "access" : 9,
+ "descriptor" : "Ldx;"
+ }, {
+ "field" : "rasterProvider",
+ "owner" : "co",
+ "name" : "ar",
+ "access" : 9,
+ "descriptor" : "Llr;"
+ }, {
+ "field" : "rebootTimer",
+ "owner" : "client",
+ "name" : "cr",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 814843975
+ }, {
+ "field" : "reflectionChecks",
+ "owner" : "lj",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Lhj;"
+ }, {
+ "field" : "regionLandArchiveIds",
+ "owner" : "f",
+ "name" : "gq",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "regionLandArchives",
+ "owner" : "jj",
+ "name" : "gz",
+ "access" : 8,
+ "descriptor" : "[[B"
+ }, {
+ "field" : "regionMapArchiveIds",
+ "owner" : "aw",
+ "name" : "gy",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "regionMapArchives",
+ "owner" : "er",
+ "name" : "gx",
+ "access" : 8,
+ "descriptor" : "[[B"
+ }, {
+ "field" : "regions",
+ "owner" : "ft",
+ "name" : "gi",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "renderSelf",
+ "owner" : "client",
+ "name" : "jb",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "revision",
+ "owner" : "fe",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 1878282847
+ }, {
+ "field" : "rights",
+ "owner" : "client",
+ "name" : "mm",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1911137227
+ }, {
+ "field" : "rootWidgetCount",
+ "owner" : "client",
+ "name" : "ow",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 299565847
+ }, {
+ "field" : "rootWidgetGroup",
+ "owner" : "client",
+ "name" : "my",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -598595791
+ }, {
+ "field" : "rootWidgetHeights",
+ "owner" : "client",
+ "name" : "oa",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "rootWidgetWidths",
+ "owner" : "client",
+ "name" : "or",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "rootWidgetXs",
+ "owner" : "client",
+ "name" : "oh",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "rootWidgetYs",
+ "owner" : "client",
+ "name" : "ot",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "runEnergy",
+ "owner" : "client",
+ "name" : "mu",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1318049485
+ }, {
+ "field" : "scene",
+ "owner" : "h",
+ "name" : "go",
+ "access" : 8,
+ "descriptor" : "Len;"
+ }, {
+ "field" : "sceneMinimapSprite",
+ "owner" : "bx",
+ "name" : "po",
+ "access" : 8,
+ "descriptor" : "Lld;"
+ }, {
+ "field" : "scriptEvents",
+ "owner" : "client",
+ "name" : "oc",
+ "access" : 8,
+ "descriptor" : "Lhv;"
+ }, {
+ "field" : "scrollBarSprites",
+ "owner" : "cd",
+ "name" : "gg",
+ "access" : 8,
+ "descriptor" : "[Llv;"
+ }, {
+ "field" : "secureRandom",
+ "owner" : "jy",
+ "name" : "ey",
+ "access" : 8,
+ "descriptor" : "Ljava/security/SecureRandom;"
+ }, {
+ "field" : "secureRandomFuture",
+ "owner" : "client",
+ "name" : "ed",
+ "access" : 8,
+ "descriptor" : "Lcp;"
+ }, {
+ "field" : "selectedItemId",
+ "owner" : "dn",
+ "name" : "iz",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 412126871
+ }, {
+ "field" : "selectedItemName",
+ "owner" : "client",
+ "name" : "it",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "selectedItemSlot",
+ "owner" : "bb",
+ "name" : "ll",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1274406465
+ }, {
+ "field" : "selectedItemWidget",
+ "owner" : "ij",
+ "name" : "ix",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 597349947
+ }, {
+ "field" : "selectedSpellActionName",
+ "owner" : "client",
+ "name" : "mo",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "selectedSpellFlags",
+ "owner" : "ch",
+ "name" : "mn",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1292469279
+ }, {
+ "field" : "selectedSpellName",
+ "owner" : "client",
+ "name" : "md",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "serverBuild",
+ "owner" : "f",
+ "name" : "be",
+ "access" : 8,
+ "descriptor" : "Lix;"
+ }, {
+ "field" : "shiftClickDrop",
+ "owner" : "client",
+ "name" : "lb",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "showLoadingMessages",
+ "owner" : "client",
+ "name" : "jw",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "showMouseCross",
+ "owner" : "client",
+ "name" : "jh",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "showMouseOverText",
+ "owner" : "client",
+ "name" : "lp",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "socketTask",
+ "owner" : "bg",
+ "name" : "fn",
+ "access" : 8,
+ "descriptor" : "Lfn;"
+ }, {
+ "field" : "soundCache",
+ "owner" : "hd",
+ "name" : "r",
+ "access" : 9,
+ "descriptor" : "Lds;"
+ }, {
+ "field" : "soundEffectCount",
+ "owner" : "client",
+ "name" : "qs",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -2059524069
+ }, {
+ "field" : "soundEffectIds",
+ "owner" : "client",
+ "name" : "qi",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "soundEffects",
+ "owner" : "client",
+ "name" : "qh",
+ "access" : 8,
+ "descriptor" : "[Lcu;"
+ }, {
+ "field" : "soundSystem",
+ "owner" : "cy",
+ "name" : "b",
+ "access" : 8,
+ "descriptor" : "Ldz;"
+ }, {
+ "field" : "soundSystemExecutor",
+ "owner" : "cz",
+ "name" : "m",
+ "access" : 8,
+ "descriptor" : "Ljava/util/concurrent/ScheduledExecutorService;"
+ }, {
+ "field" : "spriteIds",
+ "owner" : "ib",
+ "name" : "ek",
+ "access" : 8,
+ "descriptor" : "Llf;"
+ }, {
+ "field" : "studioGame",
+ "owner" : "p",
+ "name" : "bz",
+ "access" : 8,
+ "descriptor" : "Lib;"
+ }, {
+ "field" : "tapToDrop",
+ "owner" : "client",
+ "name" : "lr",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "taskHandler",
+ "owner" : "la",
+ "name" : "a",
+ "access" : 12,
+ "descriptor" : "Lfo;"
+ }, {
+ "field" : "tempMenuAction",
+ "owner" : "h",
+ "name" : "lu",
+ "access" : 8,
+ "descriptor" : "Lca;"
+ }, {
+ "field" : "textureProvider",
+ "owner" : "bb",
+ "name" : "jg",
+ "access" : 8,
+ "descriptor" : "Ldu;"
+ }, {
+ "field" : "tileLastDrawnActor",
+ "owner" : "client",
+ "name" : "in",
+ "access" : 8,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "timer",
+ "owner" : "client",
+ "name" : "fd",
+ "access" : 8,
+ "descriptor" : "Lka;"
+ }, {
+ "field" : "titleLoadingStage",
+ "owner" : "client",
+ "name" : "dg",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1625536117
+ }, {
+ "field" : "urlRequester",
+ "owner" : "gw",
+ "name" : "fl",
+ "access" : 8,
+ "descriptor" : "Lex;"
+ }, {
+ "field" : "useBufferedSocket",
+ "owner" : "client",
+ "name" : "fz",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "userHomeDirectory",
+ "owner" : "k",
+ "name" : "i",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "varcs",
+ "owner" : "v",
+ "name" : "ox",
+ "access" : 8,
+ "descriptor" : "Lcq;"
+ }, {
+ "field" : "viewportDrawCount",
+ "owner" : "client",
+ "name" : "io",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1950554197
+ }, {
+ "field" : "viewportHeight",
+ "owner" : "client",
+ "name" : "ri",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1091657233
+ }, {
+ "field" : "viewportOffsetX",
+ "owner" : "client",
+ "name" : "re",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 2112570043
+ }, {
+ "field" : "viewportOffsetY",
+ "owner" : "client",
+ "name" : "ry",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1373665093
+ }, {
+ "field" : "viewportTempX",
+ "owner" : "client",
+ "name" : "iq",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -58041941
+ }, {
+ "field" : "viewportTempY",
+ "owner" : "client",
+ "name" : "ip",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -930877511
+ }, {
+ "field" : "viewportWidget",
+ "owner" : "client",
+ "name" : "mb",
+ "access" : 8,
+ "descriptor" : "Lia;"
+ }, {
+ "field" : "viewportWidth",
+ "owner" : "client",
+ "name" : "ru",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1854847667
+ }, {
+ "field" : "viewportZoom",
+ "owner" : "client",
+ "name" : "rn",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1083000669
+ }, {
+ "field" : "visibilityMap",
+ "owner" : "en",
+ "name" : "bv",
+ "access" : 8,
+ "descriptor" : "[[[[Z"
+ }, {
+ "field" : "visibleTiles",
+ "owner" : "en",
+ "name" : "bg",
+ "access" : 8,
+ "descriptor" : "[[Z"
+ }, {
+ "field" : "weight",
+ "owner" : "client",
+ "name" : "ml",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 394154065
+ }, {
+ "field" : "widgetClickMasks",
+ "owner" : "client",
+ "name" : "oi",
+ "access" : 8,
+ "descriptor" : "Lht;"
+ }, {
+ "field" : "widgetClickX",
+ "owner" : "client",
+ "name" : "mj",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 119991981
+ }, {
+ "field" : "widgetClickY",
+ "owner" : "client",
+ "name" : "mx",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 2068877137
+ }, {
+ "field" : "widgetDragDuration",
+ "owner" : "aa",
+ "name" : "nz",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1603304763
+ }, {
+ "field" : "widgetGroupParents",
+ "owner" : "client",
+ "name" : "mh",
+ "access" : 8,
+ "descriptor" : "Lht;"
+ }, {
+ "field" : "widgets",
+ "owner" : "ia",
+ "name" : "f",
+ "access" : 9,
+ "descriptor" : "[[Lia;"
+ }, {
+ "field" : "worldHost",
+ "owner" : "o",
+ "name" : "es",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "worldId",
+ "owner" : "client",
+ "name" : "bf",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -1631337851
+ }, {
+ "field" : "worldMap0",
+ "owner" : "k",
+ "name" : "sa",
+ "access" : 8,
+ "descriptor" : "Llq;"
+ }, {
+ "field" : "worldMapEvent",
+ "owner" : "aq",
+ "name" : "u",
+ "access" : 8,
+ "descriptor" : "Lai;"
+ }, {
+ "field" : "worldProperties",
+ "owner" : "client",
+ "name" : "bo",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -2035474007
+ }, {
+ "field" : "worlds",
+ "owner" : "lj",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "[Lbu;"
+ }, {
+ "field" : "worldsCount",
+ "owner" : "bu",
+ "name" : "f",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 779901565
+ }, {
+ "field" : "worldsUrl",
+ "owner" : "h",
+ "name" : "bk",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "xteaKeys",
+ "owner" : "cq",
+ "name" : "gu",
+ "access" : 8,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "__s_jo",
+ "owner" : "s",
+ "name" : "jo",
+ "access" : 8,
+ "descriptor" : "Lia;"
+ }, {
+ "field" : "__x_b",
+ "owner" : "x",
+ "name" : "b",
+ "access" : 9,
+ "descriptor" : "[[S"
+ }, {
+ "field" : "__h_qu",
+ "owner" : "h",
+ "name" : "qu",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1933594241
+ }, {
+ "field" : "__f_l",
+ "owner" : "f",
+ "name" : "l",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1139846795
+ }, {
+ "field" : "__f_a",
+ "owner" : "f",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__p_g",
+ "owner" : "p",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "Ljava/util/Comparator;"
+ }, {
+ "field" : "__p_h",
+ "owner" : "p",
+ "name" : "h",
+ "access" : 9,
+ "descriptor" : "Ljava/util/Comparator;"
+ }, {
+ "field" : "__p_s",
+ "owner" : "p",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "Ljava/util/Comparator;"
+ }, {
+ "field" : "__p_x",
+ "owner" : "p",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "Ljava/util/Comparator;"
+ }, {
+ "field" : "__q_ez",
+ "owner" : "q",
+ "name" : "ez",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 332825983
+ }, {
+ "field" : "__q_n",
+ "owner" : "q",
+ "name" : "n",
+ "access" : 8,
+ "descriptor" : "Llv;"
+ }, {
+ "field" : "__b_ns",
+ "owner" : "b",
+ "name" : "ns",
+ "access" : 8,
+ "descriptor" : "[Lia;"
+ }, {
+ "field" : "__n_r",
+ "owner" : "n",
+ "name" : "r",
+ "access" : 8,
+ "descriptor" : "Llv;"
+ }, {
+ "field" : "__r_aa",
+ "owner" : "r",
+ "name" : "aa",
+ "access" : 8,
+ "descriptor" : "Ljava/awt/Font;"
+ }, {
+ "field" : "__t_n",
+ "owner" : "t",
+ "name" : "n",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -536580295
+ }, {
+ "field" : "__t_b",
+ "owner" : "t",
+ "name" : "b",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__u_gr",
+ "owner" : "u",
+ "name" : "gr",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1173873021
+ }, {
+ "field" : "__u_sv",
+ "owner" : "u",
+ "name" : "sv",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 760845619
+ }, {
+ "field" : "__y_r",
+ "owner" : "y",
+ "name" : "r",
+ "access" : 9,
+ "descriptor" : "Lkt;"
+ }, {
+ "field" : "__y_eb",
+ "owner" : "y",
+ "name" : "eb",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "__y_rz",
+ "owner" : "y",
+ "name" : "rz",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1813401529
+ }, {
+ "field" : "__y_w",
+ "owner" : "y",
+ "name" : "w",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__k_hz",
+ "owner" : "k",
+ "name" : "hz",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -47086145
+ }, {
+ "field" : "__v_ab",
+ "owner" : "v",
+ "name" : "ab",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__v_fe",
+ "owner" : "v",
+ "name" : "fe",
+ "access" : 8,
+ "descriptor" : "J",
+ "decoder" : -5715982567008898473
+ }, {
+ "field" : "__d_rp",
+ "owner" : "d",
+ "name" : "rp",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 662123079
+ }, {
+ "field" : "__d_ee",
+ "owner" : "d",
+ "name" : "ee",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__d_a",
+ "owner" : "d",
+ "name" : "a",
+ "access" : 24,
+ "descriptor" : "Ld;"
+ }, {
+ "field" : "__d_g",
+ "owner" : "d",
+ "name" : "g",
+ "access" : 24,
+ "descriptor" : "Ld;"
+ }, {
+ "field" : "__d_s",
+ "owner" : "d",
+ "name" : "s",
+ "access" : 24,
+ "descriptor" : "Ld;"
+ }, {
+ "field" : "__d_x",
+ "owner" : "d",
+ "name" : "x",
+ "access" : 24,
+ "descriptor" : "Ld;"
+ }, {
+ "field" : "__w_bg",
+ "owner" : "w",
+ "name" : "bg",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -107724485
+ }, {
+ "field" : "__w_gw",
+ "owner" : "w",
+ "name" : "gw",
+ "access" : 8,
+ "descriptor" : "Lld;"
+ }, {
+ "field" : "__c_ej",
+ "owner" : "c",
+ "name" : "ej",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 452175157
+ }, {
+ "field" : "__z_pm",
+ "owner" : "z",
+ "name" : "pm",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__z_qy",
+ "owner" : "z",
+ "name" : "qy",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -310179935
+ }, {
+ "field" : "__af_ac",
+ "owner" : "af",
+ "name" : "ac",
+ "access" : 12,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__ay_j",
+ "owner" : "ay",
+ "name" : "j",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__aa_h",
+ "owner" : "aa",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "Lha;"
+ }, {
+ "field" : "__aa_c",
+ "owner" : "aa",
+ "name" : "c",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__aw_cp",
+ "owner" : "aw",
+ "name" : "cp",
+ "access" : 9,
+ "descriptor" : "C"
+ }, {
+ "field" : "__aw_f",
+ "owner" : "aw",
+ "name" : "f",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__aw_at",
+ "owner" : "aw",
+ "name" : "at",
+ "access" : 8,
+ "descriptor" : "Ljava/awt/Image;"
+ }, {
+ "field" : "__an_nr",
+ "owner" : "an",
+ "name" : "nr",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -2006679537
+ }, {
+ "field" : "__ae_bx",
+ "owner" : "ae",
+ "name" : "bx",
+ "access" : 8,
+ "descriptor" : "Llv;"
+ }, {
+ "field" : "__aj_eg",
+ "owner" : "aj",
+ "name" : "eg",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1007381451
+ }, {
+ "field" : "__as_rk",
+ "owner" : "as",
+ "name" : "rk",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -686303295
+ }, {
+ "field" : "__as_gb",
+ "owner" : "as",
+ "name" : "gb",
+ "access" : 8,
+ "descriptor" : "Lld;"
+ }, {
+ "field" : "__ar_bu",
+ "owner" : "ar",
+ "name" : "bu",
+ "access" : 8,
+ "descriptor" : "[Lld;"
+ }, {
+ "field" : "__ai_as",
+ "owner" : "ai",
+ "name" : "as",
+ "access" : 12,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__az_cf",
+ "owner" : "az",
+ "name" : "cf",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -1396922597
+ }, {
+ "field" : "__az_cn",
+ "owner" : "az",
+ "name" : "cn",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -692028311
+ }, {
+ "field" : "__az_cs",
+ "owner" : "az",
+ "name" : "cs",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 2047808079
+ }, {
+ "field" : "__az_cu",
+ "owner" : "az",
+ "name" : "cu",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 595955195
+ }, {
+ "field" : "__az_cv",
+ "owner" : "az",
+ "name" : "cv",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -731079815
+ }, {
+ "field" : "__az_cw",
+ "owner" : "az",
+ "name" : "cw",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 1159843057
+ }, {
+ "field" : "__az_ck",
+ "owner" : "az",
+ "name" : "ck",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__az_cq",
+ "owner" : "az",
+ "name" : "cq",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__az_co",
+ "owner" : "az",
+ "name" : "co",
+ "access" : 8,
+ "descriptor" : "[C"
+ }, {
+ "field" : "__az_fv",
+ "owner" : "az",
+ "name" : "fv",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 2023993573
+ }, {
+ "field" : "__az_cr",
+ "owner" : "az",
+ "name" : "cr",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ac_bn",
+ "owner" : "ac",
+ "name" : "bn",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1427147269
+ }, {
+ "field" : "__ac_i",
+ "owner" : "ac",
+ "name" : "i",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ad_h",
+ "owner" : "ad",
+ "name" : "h",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ax_r",
+ "owner" : "ax",
+ "name" : "r",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1520073519
+ }, {
+ "field" : "__ak_a",
+ "owner" : "ak",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Ljava/applet/Applet;"
+ }, {
+ "field" : "__ak_s",
+ "owner" : "ak",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__bf_ae",
+ "owner" : "bf",
+ "name" : "ae",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -851112671
+ }, {
+ "field" : "__bf_b",
+ "owner" : "bf",
+ "name" : "b",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1405095629
+ }, {
+ "field" : "__bf_g",
+ "owner" : "bf",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -724394045
+ }, {
+ "field" : "__bf_m",
+ "owner" : "bf",
+ "name" : "m",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1693242635
+ }, {
+ "field" : "__bf_q",
+ "owner" : "bf",
+ "name" : "q",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 2064969169
+ }, {
+ "field" : "__bf_ab",
+ "owner" : "bf",
+ "name" : "ab",
+ "access" : 8,
+ "descriptor" : "Ljava/awt/FontMetrics;"
+ }, {
+ "field" : "__bf_o",
+ "owner" : "bf",
+ "name" : "o",
+ "access" : 8,
+ "descriptor" : "[J"
+ }, {
+ "field" : "__bf_t",
+ "owner" : "bf",
+ "name" : "t",
+ "access" : 8,
+ "descriptor" : "[J"
+ }, {
+ "field" : "__bo_nv",
+ "owner" : "bo",
+ "name" : "nv",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 429076041
+ }, {
+ "field" : "__bo_af",
+ "owner" : "bo",
+ "name" : "af",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__bd_f",
+ "owner" : "bd",
+ "name" : "f",
+ "access" : 8,
+ "descriptor" : "[[[B"
+ }, {
+ "field" : "__bd_h",
+ "owner" : "bd",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "[[[B"
+ }, {
+ "field" : "__bd_m",
+ "owner" : "bd",
+ "name" : "m",
+ "access" : 8,
+ "descriptor" : "[[[B"
+ }, {
+ "field" : "__bd_p",
+ "owner" : "bd",
+ "name" : "p",
+ "access" : 8,
+ "descriptor" : "[[[B"
+ }, {
+ "field" : "__bd_x",
+ "owner" : "bd",
+ "name" : "x",
+ "access" : 8,
+ "descriptor" : "[[[B"
+ }, {
+ "field" : "__bd_j",
+ "owner" : "bd",
+ "name" : "j",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -548424781
+ }, {
+ "field" : "__bd_z",
+ "owner" : "bd",
+ "name" : "z",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -790124765
+ }, {
+ "field" : "__bd_n",
+ "owner" : "bd",
+ "name" : "n",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__bd_t",
+ "owner" : "bd",
+ "name" : "t",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__bd_c",
+ "owner" : "bd",
+ "name" : "c",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__bd_d",
+ "owner" : "bd",
+ "name" : "d",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__bd_i",
+ "owner" : "bd",
+ "name" : "i",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__bd_k",
+ "owner" : "bd",
+ "name" : "k",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__bd_v",
+ "owner" : "bd",
+ "name" : "v",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__bd_w",
+ "owner" : "bd",
+ "name" : "w",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__bi_q",
+ "owner" : "bi",
+ "name" : "q",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 1399707023
+ }, {
+ "field" : "__bi_fh",
+ "owner" : "bi",
+ "name" : "fh",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 2108672263
+ }, {
+ "field" : "__bv_ao",
+ "owner" : "bv",
+ "name" : "ao",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__bv_ad",
+ "owner" : "bv",
+ "name" : "ad",
+ "access" : 8,
+ "descriptor" : "Llh;"
+ }, {
+ "field" : "__bw_df",
+ "owner" : "bw",
+ "name" : "df",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "__bh_sr",
+ "owner" : "bh",
+ "name" : "sr",
+ "access" : 8,
+ "descriptor" : "[S"
+ }, {
+ "field" : "__client_ia",
+ "owner" : "client",
+ "name" : "ia",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -1741192279
+ }, {
+ "field" : "__client_sb",
+ "owner" : "client",
+ "name" : "sb",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -459653449
+ }, {
+ "field" : "__client_sp",
+ "owner" : "client",
+ "name" : "sp",
+ "access" : 8,
+ "descriptor" : "Lbh;"
+ }, {
+ "field" : "__client_am",
+ "owner" : "client",
+ "name" : "am",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__client_bb",
+ "owner" : "client",
+ "name" : "bb",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__client_cs",
+ "owner" : "client",
+ "name" : "cs",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__client_fq",
+ "owner" : "client",
+ "name" : "fq",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__client_hv",
+ "owner" : "client",
+ "name" : "hv",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__client_ie",
+ "owner" : "client",
+ "name" : "ie",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__client_im",
+ "owner" : "client",
+ "name" : "im",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__client_jy",
+ "owner" : "client",
+ "name" : "jy",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__client_mp",
+ "owner" : "client",
+ "name" : "mp",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__client_nd",
+ "owner" : "client",
+ "name" : "nd",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__client_nh",
+ "owner" : "client",
+ "name" : "nh",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__client_qw",
+ "owner" : "client",
+ "name" : "qw",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__client_kr",
+ "owner" : "client",
+ "name" : "kr",
+ "access" : 8,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "__client_of",
+ "owner" : "client",
+ "name" : "of",
+ "access" : 8,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "__client_op",
+ "owner" : "client",
+ "name" : "op",
+ "access" : 8,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "__client_os",
+ "owner" : "client",
+ "name" : "os",
+ "access" : 8,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "__client_rl",
+ "owner" : "client",
+ "name" : "rl",
+ "access" : 8,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "__client_el",
+ "owner" : "client",
+ "name" : "el",
+ "access" : 8,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__client_kg",
+ "owner" : "client",
+ "name" : "kg",
+ "access" : 8,
+ "descriptor" : "Lhv;"
+ }, {
+ "field" : "__client_oj",
+ "owner" : "client",
+ "name" : "oj",
+ "access" : 8,
+ "descriptor" : "Lhv;"
+ }, {
+ "field" : "__client_ov",
+ "owner" : "client",
+ "name" : "ov",
+ "access" : 8,
+ "descriptor" : "Lhv;"
+ }, {
+ "field" : "__client_mt",
+ "owner" : "client",
+ "name" : "mt",
+ "access" : 8,
+ "descriptor" : "Lia;"
+ }, {
+ "field" : "__client_mw",
+ "owner" : "client",
+ "name" : "mw",
+ "access" : 8,
+ "descriptor" : "Lia;"
+ }, {
+ "field" : "__client_rq",
+ "owner" : "client",
+ "name" : "rq",
+ "access" : 8,
+ "descriptor" : "Lil;"
+ }, {
+ "field" : "__client_cd",
+ "owner" : "client",
+ "name" : "cd",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1460205461
+ }, {
+ "field" : "__client_cq",
+ "owner" : "client",
+ "name" : "cq",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -279240331
+ }, {
+ "field" : "__client_dt",
+ "owner" : "client",
+ "name" : "dt",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1304561175
+ }, {
+ "field" : "__client_ei",
+ "owner" : "client",
+ "name" : "ei",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1183622671
+ }, {
+ "field" : "__client_eo",
+ "owner" : "client",
+ "name" : "eo",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1577974335
+ }, {
+ "field" : "__client_ep",
+ "owner" : "client",
+ "name" : "ep",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 724149945
+ }, {
+ "field" : "__client_fa",
+ "owner" : "client",
+ "name" : "fa",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -537283973
+ }, {
+ "field" : "__client_ff",
+ "owner" : "client",
+ "name" : "ff",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1944564321
+ }, {
+ "field" : "__client_fg",
+ "owner" : "client",
+ "name" : "fg",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 2080423453
+ }, {
+ "field" : "__client_fw",
+ "owner" : "client",
+ "name" : "fw",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1173287257
+ }, {
+ "field" : "__client_fy",
+ "owner" : "client",
+ "name" : "fy",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -37037319
+ }, {
+ "field" : "__client_ga",
+ "owner" : "client",
+ "name" : "ga",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1487439669
+ }, {
+ "field" : "__client_ge",
+ "owner" : "client",
+ "name" : "ge",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1327048493
+ }, {
+ "field" : "__client_gn",
+ "owner" : "client",
+ "name" : "gn",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -692625755
+ }, {
+ "field" : "__client_ha",
+ "owner" : "client",
+ "name" : "ha",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1653090657
+ }, {
+ "field" : "__client_hb",
+ "owner" : "client",
+ "name" : "hb",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 827173265
+ }, {
+ "field" : "__client_hc",
+ "owner" : "client",
+ "name" : "hc",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -2038841951
+ }, {
+ "field" : "__client_hd",
+ "owner" : "client",
+ "name" : "hd",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 167955243
+ }, {
+ "field" : "__client_hf",
+ "owner" : "client",
+ "name" : "hf",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -334967155
+ }, {
+ "field" : "__client_hj",
+ "owner" : "client",
+ "name" : "hj",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 194381521
+ }, {
+ "field" : "__client_hk",
+ "owner" : "client",
+ "name" : "hk",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 744529599
+ }, {
+ "field" : "__client_hl",
+ "owner" : "client",
+ "name" : "hl",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1692348195
+ }, {
+ "field" : "__client_hm",
+ "owner" : "client",
+ "name" : "hm",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1187655507
+ }, {
+ "field" : "__client_hn",
+ "owner" : "client",
+ "name" : "hn",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1076515377
+ }, {
+ "field" : "__client_ho",
+ "owner" : "client",
+ "name" : "ho",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1284039775
+ }, {
+ "field" : "__client_hs",
+ "owner" : "client",
+ "name" : "hs",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 319925981
+ }, {
+ "field" : "__client_ht",
+ "owner" : "client",
+ "name" : "ht",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 935994939
+ }, {
+ "field" : "__client_hu",
+ "owner" : "client",
+ "name" : "hu",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1457284743
+ }, {
+ "field" : "__client_hy",
+ "owner" : "client",
+ "name" : "hy",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -963711241
+ }, {
+ "field" : "__client_ic",
+ "owner" : "client",
+ "name" : "ic",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 2082081373
+ }, {
+ "field" : "__client_if",
+ "owner" : "client",
+ "name" : "if",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1264010803
+ }, {
+ "field" : "__client_ik",
+ "owner" : "client",
+ "name" : "ik",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1396376281
+ }, {
+ "field" : "__client_iu",
+ "owner" : "client",
+ "name" : "iu",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1539043517
+ }, {
+ "field" : "__client_iy",
+ "owner" : "client",
+ "name" : "iy",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1054464475
+ }, {
+ "field" : "__client_jf",
+ "owner" : "client",
+ "name" : "jf",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 498090213
+ }, {
+ "field" : "__client_ji",
+ "owner" : "client",
+ "name" : "ji",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1185353675
+ }, {
+ "field" : "__client_jp",
+ "owner" : "client",
+ "name" : "jp",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -194480927
+ }, {
+ "field" : "__client_jq",
+ "owner" : "client",
+ "name" : "jq",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1989185387
+ }, {
+ "field" : "__client_jv",
+ "owner" : "client",
+ "name" : "jv",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -306357203
+ }, {
+ "field" : "__client_jx",
+ "owner" : "client",
+ "name" : "jx",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1381016877
+ }, {
+ "field" : "__client_kc",
+ "owner" : "client",
+ "name" : "kc",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -881947409
+ }, {
+ "field" : "__client_kd",
+ "owner" : "client",
+ "name" : "kd",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1743205443
+ }, {
+ "field" : "__client_ku",
+ "owner" : "client",
+ "name" : "ku",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 918080955
+ }, {
+ "field" : "__client_ld",
+ "owner" : "client",
+ "name" : "ld",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1156607981
+ }, {
+ "field" : "__client_li",
+ "owner" : "client",
+ "name" : "li",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1804873401
+ }, {
+ "field" : "__client_lv",
+ "owner" : "client",
+ "name" : "lv",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 115558105
+ }, {
+ "field" : "__client_lw",
+ "owner" : "client",
+ "name" : "lw",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1745321725
+ }, {
+ "field" : "__client_lz",
+ "owner" : "client",
+ "name" : "lz",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -364435911
+ }, {
+ "field" : "__client_me",
+ "owner" : "client",
+ "name" : "me",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 345992687
+ }, {
+ "field" : "__client_mg",
+ "owner" : "client",
+ "name" : "mg",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -216864955
+ }, {
+ "field" : "__client_mi",
+ "owner" : "client",
+ "name" : "mi",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1356307623
+ }, {
+ "field" : "__client_mr",
+ "owner" : "client",
+ "name" : "mr",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -503828377
+ }, {
+ "field" : "__client_na",
+ "owner" : "client",
+ "name" : "na",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 980809521
+ }, {
+ "field" : "__client_nb",
+ "owner" : "client",
+ "name" : "nb",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 64506027
+ }, {
+ "field" : "__client_ne",
+ "owner" : "client",
+ "name" : "ne",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -214502211
+ }, {
+ "field" : "__client_nf",
+ "owner" : "client",
+ "name" : "nf",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1260723993
+ }, {
+ "field" : "__client_ng",
+ "owner" : "client",
+ "name" : "ng",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 2105836291
+ }, {
+ "field" : "__client_ni",
+ "owner" : "client",
+ "name" : "ni",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -720054477
+ }, {
+ "field" : "__client_nl",
+ "owner" : "client",
+ "name" : "nl",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1045471387
+ }, {
+ "field" : "__client_nm",
+ "owner" : "client",
+ "name" : "nm",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 900688697
+ }, {
+ "field" : "__client_nn",
+ "owner" : "client",
+ "name" : "nn",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1140202281
+ }, {
+ "field" : "__client_no",
+ "owner" : "client",
+ "name" : "no",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1164018799
+ }, {
+ "field" : "__client_np",
+ "owner" : "client",
+ "name" : "np",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 927108697
+ }, {
+ "field" : "__client_nq",
+ "owner" : "client",
+ "name" : "nq",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1203340891
+ }, {
+ "field" : "__client_nw",
+ "owner" : "client",
+ "name" : "nw",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 321367859
+ }, {
+ "field" : "__client_ny",
+ "owner" : "client",
+ "name" : "ny",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1835148581
+ }, {
+ "field" : "__client_ok",
+ "owner" : "client",
+ "name" : "ok",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -258941087
+ }, {
+ "field" : "__client_pc",
+ "owner" : "client",
+ "name" : "pc",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -204665459
+ }, {
+ "field" : "__client_pi",
+ "owner" : "client",
+ "name" : "pi",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1451950867
+ }, {
+ "field" : "__client_pl",
+ "owner" : "client",
+ "name" : "pl",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1578223623
+ }, {
+ "field" : "__client_pw",
+ "owner" : "client",
+ "name" : "pw",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -402226337
+ }, {
+ "field" : "__client_qa",
+ "owner" : "client",
+ "name" : "qa",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1044874545
+ }, {
+ "field" : "__client_qj",
+ "owner" : "client",
+ "name" : "qj",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1794188809
+ }, {
+ "field" : "__client_qn",
+ "owner" : "client",
+ "name" : "qn",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1016945401
+ }, {
+ "field" : "__client_qz",
+ "owner" : "client",
+ "name" : "qz",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1070677413
+ }, {
+ "field" : "__client_sl",
+ "owner" : "client",
+ "name" : "sl",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -532610197
+ }, {
+ "field" : "__client_sm",
+ "owner" : "client",
+ "name" : "sm",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1789447311
+ }, {
+ "field" : "__client_fj",
+ "owner" : "client",
+ "name" : "fj",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_kq",
+ "owner" : "client",
+ "name" : "kq",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_kx",
+ "owner" : "client",
+ "name" : "kx",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_nj",
+ "owner" : "client",
+ "name" : "nj",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_nu",
+ "owner" : "client",
+ "name" : "nu",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_nx",
+ "owner" : "client",
+ "name" : "nx",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_pe",
+ "owner" : "client",
+ "name" : "pe",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_pk",
+ "owner" : "client",
+ "name" : "pk",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_pz",
+ "owner" : "client",
+ "name" : "pz",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_ql",
+ "owner" : "client",
+ "name" : "ql",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_qq",
+ "owner" : "client",
+ "name" : "qq",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_qx",
+ "owner" : "client",
+ "name" : "qx",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_ra",
+ "owner" : "client",
+ "name" : "ra",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_ro",
+ "owner" : "client",
+ "name" : "ro",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_rv",
+ "owner" : "client",
+ "name" : "rv",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_rx",
+ "owner" : "client",
+ "name" : "rx",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_tc",
+ "owner" : "client",
+ "name" : "tc",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_tl",
+ "owner" : "client",
+ "name" : "tl",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__client_ph",
+ "owner" : "client",
+ "name" : "ph",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__client_cf",
+ "owner" : "client",
+ "name" : "cf",
+ "access" : 8,
+ "descriptor" : "J",
+ "decoder" : 2384354849923795831
+ }, {
+ "field" : "__client_ob",
+ "owner" : "client",
+ "name" : "ob",
+ "access" : 8,
+ "descriptor" : "J",
+ "decoder" : -7434693864354422283
+ }, {
+ "field" : "__client_ps",
+ "owner" : "client",
+ "name" : "ps",
+ "access" : 8,
+ "descriptor" : "J",
+ "decoder" : -5334363600316309153
+ }, {
+ "field" : "__client_pf",
+ "owner" : "client",
+ "name" : "pf",
+ "access" : 8,
+ "descriptor" : "[J"
+ }, {
+ "field" : "__client_bm",
+ "owner" : "client",
+ "name" : "bm",
+ "access" : 8,
+ "descriptor" : "Llv;"
+ }, {
+ "field" : "__client_rc",
+ "owner" : "client",
+ "name" : "rc",
+ "access" : 8,
+ "descriptor" : "S"
+ }, {
+ "field" : "__client_rd",
+ "owner" : "client",
+ "name" : "rd",
+ "access" : 8,
+ "descriptor" : "S"
+ }, {
+ "field" : "__client_rf",
+ "owner" : "client",
+ "name" : "rf",
+ "access" : 8,
+ "descriptor" : "S"
+ }, {
+ "field" : "__client_rj",
+ "owner" : "client",
+ "name" : "rj",
+ "access" : 8,
+ "descriptor" : "S"
+ }, {
+ "field" : "__client_rm",
+ "owner" : "client",
+ "name" : "rm",
+ "access" : 8,
+ "descriptor" : "S"
+ }, {
+ "field" : "__client_rr",
+ "owner" : "client",
+ "name" : "rr",
+ "access" : 8,
+ "descriptor" : "S"
+ }, {
+ "field" : "__client_rs",
+ "owner" : "client",
+ "name" : "rs",
+ "access" : 8,
+ "descriptor" : "S"
+ }, {
+ "field" : "__client_rw",
+ "owner" : "client",
+ "name" : "rw",
+ "access" : 8,
+ "descriptor" : "S"
+ }, {
+ "field" : "__client_gl",
+ "owner" : "client",
+ "name" : "gl",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__bq_h",
+ "owner" : "bq",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "[Llv;"
+ }, {
+ "field" : "__by_h",
+ "owner" : "by",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 357083675
+ }, {
+ "field" : "__by_m",
+ "owner" : "by",
+ "name" : "m",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -917563253
+ }, {
+ "field" : "__bu_b",
+ "owner" : "bu",
+ "name" : "b",
+ "access" : 8,
+ "descriptor" : "Lez;"
+ }, {
+ "field" : "__bu_p",
+ "owner" : "bu",
+ "name" : "p",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -997808101
+ }, {
+ "field" : "__bu_m",
+ "owner" : "bu",
+ "name" : "m",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__bu_q",
+ "owner" : "bu",
+ "name" : "q",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__bt_t",
+ "owner" : "bt",
+ "name" : "t",
+ "access" : 8,
+ "descriptor" : "Lia;"
+ }, {
+ "field" : "__bt_a",
+ "owner" : "bt",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 2096624113
+ }, {
+ "field" : "__bt_bn",
+ "owner" : "bt",
+ "name" : "bn",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1549777479
+ }, {
+ "field" : "__bt_bl",
+ "owner" : "bt",
+ "name" : "bl",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__bt_bs",
+ "owner" : "bt",
+ "name" : "bs",
+ "access" : 8,
+ "descriptor" : "[Llv;"
+ }, {
+ "field" : "__bc_bc",
+ "owner" : "bc",
+ "name" : "bc",
+ "access" : 8,
+ "descriptor" : "[Llv;"
+ }, {
+ "field" : "__bx_k",
+ "owner" : "bx",
+ "name" : "k",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__bx_y",
+ "owner" : "bx",
+ "name" : "y",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__bx_v",
+ "owner" : "bx",
+ "name" : "v",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1950724761
+ }, {
+ "field" : "__bx_c",
+ "owner" : "bx",
+ "name" : "c",
+ "access" : 24,
+ "descriptor" : "D"
+ }, {
+ "field" : "__bx_o",
+ "owner" : "bx",
+ "name" : "o",
+ "access" : 24,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "__cm_f",
+ "owner" : "cm",
+ "name" : "f",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 449731073
+ }, {
+ "field" : "__ch_f",
+ "owner" : "ch",
+ "name" : "f",
+ "access" : 24,
+ "descriptor" : "Ljava/math/BigInteger;"
+ }, {
+ "field" : "__ch_h",
+ "owner" : "ch",
+ "name" : "h",
+ "access" : 24,
+ "descriptor" : "Ljava/math/BigInteger;"
+ }, {
+ "field" : "__cg_r",
+ "owner" : "cg",
+ "name" : "r",
+ "access" : 8,
+ "descriptor" : "Lia;"
+ }, {
+ "field" : "__ca_u",
+ "owner" : "ca",
+ "name" : "u",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -49614977
+ }, {
+ "field" : "__cy_a",
+ "owner" : "cy",
+ "name" : "a",
+ "access" : 24,
+ "descriptor" : "Ljava/math/BigInteger;"
+ }, {
+ "field" : "__cy_s",
+ "owner" : "cy",
+ "name" : "s",
+ "access" : 24,
+ "descriptor" : "Ljava/math/BigInteger;"
+ }, {
+ "field" : "__cc_a",
+ "owner" : "cc",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__cc_bb",
+ "owner" : "cc",
+ "name" : "bb",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__cc_bk",
+ "owner" : "cc",
+ "name" : "bk",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__cc_br",
+ "owner" : "cc",
+ "name" : "br",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__cc_by",
+ "owner" : "cc",
+ "name" : "by",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__cc_ac",
+ "owner" : "cc",
+ "name" : "ac",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -590991603
+ }, {
+ "field" : "__cc_ag",
+ "owner" : "cc",
+ "name" : "ag",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 444700065
+ }, {
+ "field" : "__cc_ah",
+ "owner" : "cc",
+ "name" : "ah",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -2070211379
+ }, {
+ "field" : "__cc_an",
+ "owner" : "cc",
+ "name" : "an",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -368728983
+ }, {
+ "field" : "__cc_aq",
+ "owner" : "cc",
+ "name" : "aq",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1014786149
+ }, {
+ "field" : "__cc_at",
+ "owner" : "cc",
+ "name" : "at",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -312281389
+ }, {
+ "field" : "__cc_aw",
+ "owner" : "cc",
+ "name" : "aw",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "__cc_ax",
+ "owner" : "cc",
+ "name" : "ax",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 78635069
+ }, {
+ "field" : "__cc_bw",
+ "owner" : "cc",
+ "name" : "bw",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1693261231
+ }, {
+ "field" : "__cc_cg",
+ "owner" : "cc",
+ "name" : "cg",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1445383135
+ }, {
+ "field" : "__cc_ch",
+ "owner" : "cc",
+ "name" : "ch",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -967946489
+ }, {
+ "field" : "__cc_cm",
+ "owner" : "cc",
+ "name" : "cm",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1502022767
+ }, {
+ "field" : "__cc_k",
+ "owner" : "cc",
+ "name" : "k",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1693868597
+ }, {
+ "field" : "__cc_s",
+ "owner" : "cc",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 192153295
+ }, {
+ "field" : "__cc_y",
+ "owner" : "cc",
+ "name" : "y",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -24166413
+ }, {
+ "field" : "__cc_z",
+ "owner" : "cc",
+ "name" : "z",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1088124961
+ }, {
+ "field" : "__cc_aa",
+ "owner" : "cc",
+ "name" : "aa",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__cc_d",
+ "owner" : "cc",
+ "name" : "d",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__cc_bh",
+ "owner" : "cc",
+ "name" : "bh",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__cc_bj",
+ "owner" : "cc",
+ "name" : "bj",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__cc_p",
+ "owner" : "cc",
+ "name" : "p",
+ "access" : 8,
+ "descriptor" : "Lld;"
+ }, {
+ "field" : "__cc_ca",
+ "owner" : "cc",
+ "name" : "ca",
+ "access" : 8,
+ "descriptor" : "J",
+ "decoder" : 2741211572456463589
+ }, {
+ "field" : "__cc_cy",
+ "owner" : "cc",
+ "name" : "cy",
+ "access" : 8,
+ "descriptor" : "J",
+ "decoder" : 902822279460057009
+ }, {
+ "field" : "__cc_b",
+ "owner" : "cc",
+ "name" : "b",
+ "access" : 8,
+ "descriptor" : "Llv;"
+ }, {
+ "field" : "__cc_m",
+ "owner" : "cc",
+ "name" : "m",
+ "access" : 8,
+ "descriptor" : "Llv;"
+ }, {
+ "field" : "__cc_x",
+ "owner" : "cc",
+ "name" : "x",
+ "access" : 8,
+ "descriptor" : "Llv;"
+ }, {
+ "field" : "__cc_q",
+ "owner" : "cc",
+ "name" : "q",
+ "access" : 8,
+ "descriptor" : "[Llv;"
+ }, {
+ "field" : "__cb_f",
+ "owner" : "cb",
+ "name" : "f",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -148901199
+ }, {
+ "field" : "__cp_g",
+ "owner" : "cp",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 1747641705
+ }, {
+ "field" : "__cd_g",
+ "owner" : "cd",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__cd_x",
+ "owner" : "cd",
+ "name" : "x",
+ "access" : 8,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__cd_l",
+ "owner" : "cd",
+ "name" : "l",
+ "access" : 8,
+ "descriptor" : "Lgx;"
+ }, {
+ "field" : "__cd_h",
+ "owner" : "cd",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "[Lgx;"
+ }, {
+ "field" : "__cd_m",
+ "owner" : "cd",
+ "name" : "m",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -974264609
+ }, {
+ "field" : "__cd_r",
+ "owner" : "cd",
+ "name" : "r",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1502976845
+ }, {
+ "field" : "__cd_q",
+ "owner" : "cd",
+ "name" : "q",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__cd_t",
+ "owner" : "cd",
+ "name" : "t",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__cq_rg",
+ "owner" : "cq",
+ "name" : "rg",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 123379899
+ }, {
+ "field" : "__cr_r",
+ "owner" : "cr",
+ "name" : "r",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ci_y",
+ "owner" : "ci",
+ "name" : "y",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__ci_o",
+ "owner" : "ci",
+ "name" : "o",
+ "access" : 8,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "__ci_p",
+ "owner" : "ci",
+ "name" : "p",
+ "access" : 8,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__ci_af",
+ "owner" : "ci",
+ "name" : "af",
+ "access" : 8,
+ "descriptor" : "[F"
+ }, {
+ "field" : "__ci_ag",
+ "owner" : "ci",
+ "name" : "ag",
+ "access" : 8,
+ "descriptor" : "[F"
+ }, {
+ "field" : "__ci_ay",
+ "owner" : "ci",
+ "name" : "ay",
+ "access" : 8,
+ "descriptor" : "[F"
+ }, {
+ "field" : "__ci_c",
+ "owner" : "ci",
+ "name" : "c",
+ "access" : 8,
+ "descriptor" : "[F"
+ }, {
+ "field" : "__ci_i",
+ "owner" : "ci",
+ "name" : "i",
+ "access" : 8,
+ "descriptor" : "[F"
+ }, {
+ "field" : "__ci_j",
+ "owner" : "ci",
+ "name" : "j",
+ "access" : 8,
+ "descriptor" : "[F"
+ }, {
+ "field" : "__ci_z",
+ "owner" : "ci",
+ "name" : "z",
+ "access" : 8,
+ "descriptor" : "[F"
+ }, {
+ "field" : "__ci_b",
+ "owner" : "ci",
+ "name" : "b",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "__ci_m",
+ "owner" : "ci",
+ "name" : "m",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "__ci_n",
+ "owner" : "ci",
+ "name" : "n",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "__ci_q",
+ "owner" : "ci",
+ "name" : "q",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "__ci_aa",
+ "owner" : "ci",
+ "name" : "aa",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ci_ab",
+ "owner" : "ci",
+ "name" : "ab",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ci_u",
+ "owner" : "ci",
+ "name" : "u",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__cj_e",
+ "owner" : "cj",
+ "name" : "e",
+ "access" : 8,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "__cj_b",
+ "owner" : "cj",
+ "name" : "b",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__cj_n",
+ "owner" : "cj",
+ "name" : "n",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__cj_s",
+ "owner" : "cj",
+ "name" : "s",
+ "access" : 24,
+ "descriptor" : "[F"
+ }, {
+ "field" : "__cj_a",
+ "owner" : "cj",
+ "name" : "a",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dz_s",
+ "owner" : "dz",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -183199
+ }, {
+ "field" : "__dz_jt",
+ "owner" : "dz",
+ "name" : "jt",
+ "access" : 8,
+ "descriptor" : "Lia;"
+ }, {
+ "field" : "__dr_m",
+ "owner" : "dr",
+ "name" : "m",
+ "access" : 8,
+ "descriptor" : "F"
+ }, {
+ "field" : "__dr_f",
+ "owner" : "dr",
+ "name" : "f",
+ "access" : 8,
+ "descriptor" : "[[F"
+ }, {
+ "field" : "__dr_q",
+ "owner" : "dr",
+ "name" : "q",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "__dr_p",
+ "owner" : "dr",
+ "name" : "p",
+ "access" : 8,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "__du_cz",
+ "owner" : "du",
+ "name" : "cz",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__du_b",
+ "owner" : "du",
+ "name" : "b",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -827781513
+ }, {
+ "field" : "__dk_au",
+ "owner" : "dk",
+ "name" : "au",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "__dk_ae",
+ "owner" : "dk",
+ "name" : "ae",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dk_av",
+ "owner" : "dk",
+ "name" : "av",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dh_k",
+ "owner" : "dh",
+ "name" : "k",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dh_o",
+ "owner" : "dh",
+ "name" : "o",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dh_u",
+ "owner" : "dh",
+ "name" : "u",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dh_v",
+ "owner" : "dh",
+ "name" : "v",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dh_y",
+ "owner" : "dh",
+ "name" : "y",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dh_d",
+ "owner" : "dh",
+ "name" : "d",
+ "access" : 24,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "__dh_w",
+ "owner" : "dh",
+ "name" : "w",
+ "access" : 24,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "__dm_a",
+ "owner" : "dm",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dm_g",
+ "owner" : "dm",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dm_s",
+ "owner" : "dm",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dm_x",
+ "owner" : "dm",
+ "name" : "x",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dv_bk",
+ "owner" : "dv",
+ "name" : "bk",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__dv_ar",
+ "owner" : "dv",
+ "name" : "ar",
+ "access" : 8,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "__dv_as",
+ "owner" : "dv",
+ "name" : "as",
+ "access" : 8,
+ "descriptor" : "[Z"
+ }, {
+ "field" : "__dv_ac",
+ "owner" : "dv",
+ "name" : "ac",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dv_ak",
+ "owner" : "dv",
+ "name" : "ak",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dv_al",
+ "owner" : "dv",
+ "name" : "al",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dv_ao",
+ "owner" : "dv",
+ "name" : "ao",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dv_ax",
+ "owner" : "dv",
+ "name" : "ax",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dv_az",
+ "owner" : "dv",
+ "name" : "az",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dv_bd",
+ "owner" : "dv",
+ "name" : "bd",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dv_be",
+ "owner" : "dv",
+ "name" : "be",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dv_bf",
+ "owner" : "dv",
+ "name" : "bf",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dv_bh",
+ "owner" : "dv",
+ "name" : "bh",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dv_bi",
+ "owner" : "dv",
+ "name" : "bi",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dv_bo",
+ "owner" : "dv",
+ "name" : "bo",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dv_bw",
+ "owner" : "dv",
+ "name" : "bw",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dv_bz",
+ "owner" : "dv",
+ "name" : "bz",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__dv_am",
+ "owner" : "dv",
+ "name" : "am",
+ "access" : 8,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "__dv_ap",
+ "owner" : "dv",
+ "name" : "ap",
+ "access" : 8,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "__di_o",
+ "owner" : "di",
+ "name" : "o",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -339565939
+ }, {
+ "field" : "__di_e",
+ "owner" : "di",
+ "name" : "e",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -659235431
+ }, {
+ "field" : "__di_p",
+ "owner" : "di",
+ "name" : "p",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 64187111
+ }, {
+ "field" : "__di_q",
+ "owner" : "di",
+ "name" : "q",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -563984089
+ }, {
+ "field" : "__df_x",
+ "owner" : "df",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__df_a",
+ "owner" : "df",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__df_s",
+ "owner" : "df",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__df_c",
+ "owner" : "df",
+ "name" : "c",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__df_j",
+ "owner" : "df",
+ "name" : "j",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__en_ah",
+ "owner" : "en",
+ "name" : "ah",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__en_au",
+ "owner" : "en",
+ "name" : "au",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__en_ar",
+ "owner" : "en",
+ "name" : "ar",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "__en_l",
+ "owner" : "en",
+ "name" : "l",
+ "access" : 8,
+ "descriptor" : "I"
+ }, {
+ "field" : "__en_ad",
+ "owner" : "en",
+ "name" : "ad",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__en_ak",
+ "owner" : "en",
+ "name" : "ak",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__en_am",
+ "owner" : "en",
+ "name" : "am",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__en_ao",
+ "owner" : "en",
+ "name" : "ao",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__en_ap",
+ "owner" : "en",
+ "name" : "ap",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__en_ax",
+ "owner" : "en",
+ "name" : "ax",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__en_bf",
+ "owner" : "en",
+ "name" : "bf",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__eo_ba",
+ "owner" : "eo",
+ "name" : "ba",
+ "access" : 8,
+ "descriptor" : "Llv;"
+ }, {
+ "field" : "__ei_g",
+ "owner" : "ei",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__ey_lx",
+ "owner" : "ey",
+ "name" : "lx",
+ "access" : 8,
+ "descriptor" : "Lia;"
+ }, {
+ "field" : "__ee_m",
+ "owner" : "ee",
+ "name" : "m",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ee_q",
+ "owner" : "ee",
+ "name" : "q",
+ "access" : 8,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "__eq_g",
+ "owner" : "eq",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "Llv;"
+ }, {
+ "field" : "__eu_q",
+ "owner" : "eu",
+ "name" : "q",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__et_s",
+ "owner" : "et",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__et_y",
+ "owner" : "et",
+ "name" : "y",
+ "access" : 9,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "__et_bt",
+ "owner" : "et",
+ "name" : "bt",
+ "access" : 8,
+ "descriptor" : "[Llv;"
+ }, {
+ "field" : "__fe_x",
+ "owner" : "fe",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 1625014789
+ }, {
+ "field" : "__fm_h",
+ "owner" : "fm",
+ "name" : "h",
+ "access" : 9,
+ "descriptor" : "Ljava/io/File;"
+ }, {
+ "field" : "__fz_a",
+ "owner" : "fz",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__fz_s",
+ "owner" : "fz",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "Ljava/io/File;"
+ }, {
+ "field" : "__fz_g",
+ "owner" : "fz",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "Ljava/util/Hashtable;"
+ }, {
+ "field" : "__fd_le",
+ "owner" : "fd",
+ "name" : "le",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -88234083
+ }, {
+ "field" : "__fx_qg",
+ "owner" : "fx",
+ "name" : "qg",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -881277661
+ }, {
+ "field" : "__ft_h",
+ "owner" : "ft",
+ "name" : "h",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 1988086563
+ }, {
+ "field" : "__ft_m",
+ "owner" : "ft",
+ "name" : "m",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ft_q",
+ "owner" : "ft",
+ "name" : "q",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ft_g",
+ "owner" : "ft",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "__ft_x",
+ "owner" : "ft",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "[[I"
+ }, {
+ "field" : "__fu_b",
+ "owner" : "fu",
+ "name" : "b",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -707464673
+ }, {
+ "field" : "__fc_a",
+ "owner" : "fc",
+ "name" : "a",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_aa",
+ "owner" : "fc",
+ "name" : "aa",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ab",
+ "owner" : "fc",
+ "name" : "ab",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ac",
+ "owner" : "fc",
+ "name" : "ac",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ad",
+ "owner" : "fc",
+ "name" : "ad",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ae",
+ "owner" : "fc",
+ "name" : "ae",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_af",
+ "owner" : "fc",
+ "name" : "af",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ag",
+ "owner" : "fc",
+ "name" : "ag",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ah",
+ "owner" : "fc",
+ "name" : "ah",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ai",
+ "owner" : "fc",
+ "name" : "ai",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_aj",
+ "owner" : "fc",
+ "name" : "aj",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ak",
+ "owner" : "fc",
+ "name" : "ak",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_al",
+ "owner" : "fc",
+ "name" : "al",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_am",
+ "owner" : "fc",
+ "name" : "am",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_an",
+ "owner" : "fc",
+ "name" : "an",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ao",
+ "owner" : "fc",
+ "name" : "ao",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ap",
+ "owner" : "fc",
+ "name" : "ap",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_aq",
+ "owner" : "fc",
+ "name" : "aq",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ar",
+ "owner" : "fc",
+ "name" : "ar",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_as",
+ "owner" : "fc",
+ "name" : "as",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_at",
+ "owner" : "fc",
+ "name" : "at",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_au",
+ "owner" : "fc",
+ "name" : "au",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_av",
+ "owner" : "fc",
+ "name" : "av",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_aw",
+ "owner" : "fc",
+ "name" : "aw",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ax",
+ "owner" : "fc",
+ "name" : "ax",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ay",
+ "owner" : "fc",
+ "name" : "ay",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_az",
+ "owner" : "fc",
+ "name" : "az",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_b",
+ "owner" : "fc",
+ "name" : "b",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ba",
+ "owner" : "fc",
+ "name" : "ba",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bb",
+ "owner" : "fc",
+ "name" : "bb",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bc",
+ "owner" : "fc",
+ "name" : "bc",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bd",
+ "owner" : "fc",
+ "name" : "bd",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_be",
+ "owner" : "fc",
+ "name" : "be",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bf",
+ "owner" : "fc",
+ "name" : "bf",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bg",
+ "owner" : "fc",
+ "name" : "bg",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bh",
+ "owner" : "fc",
+ "name" : "bh",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bi",
+ "owner" : "fc",
+ "name" : "bi",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bj",
+ "owner" : "fc",
+ "name" : "bj",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bk",
+ "owner" : "fc",
+ "name" : "bk",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bl",
+ "owner" : "fc",
+ "name" : "bl",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bm",
+ "owner" : "fc",
+ "name" : "bm",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bn",
+ "owner" : "fc",
+ "name" : "bn",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bo",
+ "owner" : "fc",
+ "name" : "bo",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bp",
+ "owner" : "fc",
+ "name" : "bp",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bq",
+ "owner" : "fc",
+ "name" : "bq",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_br",
+ "owner" : "fc",
+ "name" : "br",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bs",
+ "owner" : "fc",
+ "name" : "bs",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bt",
+ "owner" : "fc",
+ "name" : "bt",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bu",
+ "owner" : "fc",
+ "name" : "bu",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bv",
+ "owner" : "fc",
+ "name" : "bv",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bw",
+ "owner" : "fc",
+ "name" : "bw",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bx",
+ "owner" : "fc",
+ "name" : "bx",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_by",
+ "owner" : "fc",
+ "name" : "by",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_bz",
+ "owner" : "fc",
+ "name" : "bz",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_c",
+ "owner" : "fc",
+ "name" : "c",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ca",
+ "owner" : "fc",
+ "name" : "ca",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_cc",
+ "owner" : "fc",
+ "name" : "cc",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_cg",
+ "owner" : "fc",
+ "name" : "cg",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_ch",
+ "owner" : "fc",
+ "name" : "ch",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_cm",
+ "owner" : "fc",
+ "name" : "cm",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_cx",
+ "owner" : "fc",
+ "name" : "cx",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_cy",
+ "owner" : "fc",
+ "name" : "cy",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_d",
+ "owner" : "fc",
+ "name" : "d",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_e",
+ "owner" : "fc",
+ "name" : "e",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_f",
+ "owner" : "fc",
+ "name" : "f",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_g",
+ "owner" : "fc",
+ "name" : "g",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_h",
+ "owner" : "fc",
+ "name" : "h",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_i",
+ "owner" : "fc",
+ "name" : "i",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_j",
+ "owner" : "fc",
+ "name" : "j",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_k",
+ "owner" : "fc",
+ "name" : "k",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_l",
+ "owner" : "fc",
+ "name" : "l",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_m",
+ "owner" : "fc",
+ "name" : "m",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_n",
+ "owner" : "fc",
+ "name" : "n",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_o",
+ "owner" : "fc",
+ "name" : "o",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_p",
+ "owner" : "fc",
+ "name" : "p",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_q",
+ "owner" : "fc",
+ "name" : "q",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_r",
+ "owner" : "fc",
+ "name" : "r",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_s",
+ "owner" : "fc",
+ "name" : "s",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_t",
+ "owner" : "fc",
+ "name" : "t",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_u",
+ "owner" : "fc",
+ "name" : "u",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_v",
+ "owner" : "fc",
+ "name" : "v",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_w",
+ "owner" : "fc",
+ "name" : "w",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_x",
+ "owner" : "fc",
+ "name" : "x",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_y",
+ "owner" : "fc",
+ "name" : "y",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fc_z",
+ "owner" : "fc",
+ "name" : "z",
+ "access" : 25,
+ "descriptor" : "Lfc;"
+ }, {
+ "field" : "__fs_a",
+ "owner" : "fs",
+ "name" : "a",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_aa",
+ "owner" : "fs",
+ "name" : "aa",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ab",
+ "owner" : "fs",
+ "name" : "ab",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ac",
+ "owner" : "fs",
+ "name" : "ac",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ad",
+ "owner" : "fs",
+ "name" : "ad",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ae",
+ "owner" : "fs",
+ "name" : "ae",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_af",
+ "owner" : "fs",
+ "name" : "af",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ag",
+ "owner" : "fs",
+ "name" : "ag",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ah",
+ "owner" : "fs",
+ "name" : "ah",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ai",
+ "owner" : "fs",
+ "name" : "ai",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_aj",
+ "owner" : "fs",
+ "name" : "aj",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ak",
+ "owner" : "fs",
+ "name" : "ak",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_am",
+ "owner" : "fs",
+ "name" : "am",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_an",
+ "owner" : "fs",
+ "name" : "an",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ao",
+ "owner" : "fs",
+ "name" : "ao",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ap",
+ "owner" : "fs",
+ "name" : "ap",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_aq",
+ "owner" : "fs",
+ "name" : "aq",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ar",
+ "owner" : "fs",
+ "name" : "ar",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_as",
+ "owner" : "fs",
+ "name" : "as",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_at",
+ "owner" : "fs",
+ "name" : "at",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_au",
+ "owner" : "fs",
+ "name" : "au",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_av",
+ "owner" : "fs",
+ "name" : "av",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_aw",
+ "owner" : "fs",
+ "name" : "aw",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ax",
+ "owner" : "fs",
+ "name" : "ax",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ay",
+ "owner" : "fs",
+ "name" : "ay",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_az",
+ "owner" : "fs",
+ "name" : "az",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_b",
+ "owner" : "fs",
+ "name" : "b",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ba",
+ "owner" : "fs",
+ "name" : "ba",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bb",
+ "owner" : "fs",
+ "name" : "bb",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bc",
+ "owner" : "fs",
+ "name" : "bc",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bd",
+ "owner" : "fs",
+ "name" : "bd",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_be",
+ "owner" : "fs",
+ "name" : "be",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bf",
+ "owner" : "fs",
+ "name" : "bf",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bg",
+ "owner" : "fs",
+ "name" : "bg",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bh",
+ "owner" : "fs",
+ "name" : "bh",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bi",
+ "owner" : "fs",
+ "name" : "bi",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bj",
+ "owner" : "fs",
+ "name" : "bj",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bk",
+ "owner" : "fs",
+ "name" : "bk",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bl",
+ "owner" : "fs",
+ "name" : "bl",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bm",
+ "owner" : "fs",
+ "name" : "bm",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bn",
+ "owner" : "fs",
+ "name" : "bn",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bo",
+ "owner" : "fs",
+ "name" : "bo",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bp",
+ "owner" : "fs",
+ "name" : "bp",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bq",
+ "owner" : "fs",
+ "name" : "bq",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_br",
+ "owner" : "fs",
+ "name" : "br",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bs",
+ "owner" : "fs",
+ "name" : "bs",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bt",
+ "owner" : "fs",
+ "name" : "bt",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bu",
+ "owner" : "fs",
+ "name" : "bu",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bv",
+ "owner" : "fs",
+ "name" : "bv",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bw",
+ "owner" : "fs",
+ "name" : "bw",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bx",
+ "owner" : "fs",
+ "name" : "bx",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_by",
+ "owner" : "fs",
+ "name" : "by",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_bz",
+ "owner" : "fs",
+ "name" : "bz",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_c",
+ "owner" : "fs",
+ "name" : "c",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ca",
+ "owner" : "fs",
+ "name" : "ca",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cb",
+ "owner" : "fs",
+ "name" : "cb",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cc",
+ "owner" : "fs",
+ "name" : "cc",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cd",
+ "owner" : "fs",
+ "name" : "cd",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cf",
+ "owner" : "fs",
+ "name" : "cf",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cg",
+ "owner" : "fs",
+ "name" : "cg",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ch",
+ "owner" : "fs",
+ "name" : "ch",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ck",
+ "owner" : "fs",
+ "name" : "ck",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cm",
+ "owner" : "fs",
+ "name" : "cm",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cn",
+ "owner" : "fs",
+ "name" : "cn",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_co",
+ "owner" : "fs",
+ "name" : "co",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cp",
+ "owner" : "fs",
+ "name" : "cp",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cq",
+ "owner" : "fs",
+ "name" : "cq",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cr",
+ "owner" : "fs",
+ "name" : "cr",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cs",
+ "owner" : "fs",
+ "name" : "cs",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ct",
+ "owner" : "fs",
+ "name" : "ct",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cu",
+ "owner" : "fs",
+ "name" : "cu",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cv",
+ "owner" : "fs",
+ "name" : "cv",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cw",
+ "owner" : "fs",
+ "name" : "cw",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cx",
+ "owner" : "fs",
+ "name" : "cx",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_cy",
+ "owner" : "fs",
+ "name" : "cy",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_d",
+ "owner" : "fs",
+ "name" : "d",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_e",
+ "owner" : "fs",
+ "name" : "e",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_f",
+ "owner" : "fs",
+ "name" : "f",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_g",
+ "owner" : "fs",
+ "name" : "g",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_h",
+ "owner" : "fs",
+ "name" : "h",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_i",
+ "owner" : "fs",
+ "name" : "i",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_j",
+ "owner" : "fs",
+ "name" : "j",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_k",
+ "owner" : "fs",
+ "name" : "k",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_l",
+ "owner" : "fs",
+ "name" : "l",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_m",
+ "owner" : "fs",
+ "name" : "m",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_n",
+ "owner" : "fs",
+ "name" : "n",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_o",
+ "owner" : "fs",
+ "name" : "o",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_p",
+ "owner" : "fs",
+ "name" : "p",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_q",
+ "owner" : "fs",
+ "name" : "q",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_r",
+ "owner" : "fs",
+ "name" : "r",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_s",
+ "owner" : "fs",
+ "name" : "s",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_t",
+ "owner" : "fs",
+ "name" : "t",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_u",
+ "owner" : "fs",
+ "name" : "u",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_v",
+ "owner" : "fs",
+ "name" : "v",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_w",
+ "owner" : "fs",
+ "name" : "w",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_x",
+ "owner" : "fs",
+ "name" : "x",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_y",
+ "owner" : "fs",
+ "name" : "y",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_z",
+ "owner" : "fs",
+ "name" : "z",
+ "access" : 25,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_al",
+ "owner" : "fs",
+ "name" : "al",
+ "access" : 24,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fs_ci",
+ "owner" : "fs",
+ "name" : "ci",
+ "access" : 24,
+ "descriptor" : "Lfs;"
+ }, {
+ "field" : "__fv_a",
+ "owner" : "fv",
+ "name" : "a",
+ "access" : 25,
+ "descriptor" : "Lfv;"
+ }, {
+ "field" : "__fv_g",
+ "owner" : "fv",
+ "name" : "g",
+ "access" : 25,
+ "descriptor" : "Lfv;"
+ }, {
+ "field" : "__fv_x",
+ "owner" : "fv",
+ "name" : "x",
+ "access" : 25,
+ "descriptor" : "Lfv;"
+ }, {
+ "field" : "__fv_q",
+ "owner" : "fv",
+ "name" : "q",
+ "access" : 8,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__fv_h",
+ "owner" : "fv",
+ "name" : "h",
+ "access" : 24,
+ "descriptor" : "Lfv;"
+ }, {
+ "field" : "__fv_s",
+ "owner" : "fv",
+ "name" : "s",
+ "access" : 24,
+ "descriptor" : "Lfv;"
+ }, {
+ "field" : "__fv_p",
+ "owner" : "fv",
+ "name" : "p",
+ "access" : 24,
+ "descriptor" : "[Lfv;"
+ }, {
+ "field" : "__fa_f",
+ "owner" : "fa",
+ "name" : "f",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -759447941
+ }, {
+ "field" : "__gz_j",
+ "owner" : "gz",
+ "name" : "j",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__gx_g",
+ "owner" : "gx",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__gx_h",
+ "owner" : "gx",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "[J"
+ }, {
+ "field" : "__go_q",
+ "owner" : "go",
+ "name" : "q",
+ "access" : 9,
+ "descriptor" : "[[[B"
+ }, {
+ "field" : "__go_p",
+ "owner" : "go",
+ "name" : "p",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__go_fm",
+ "owner" : "go",
+ "name" : "fm",
+ "access" : 8,
+ "descriptor" : "Lfq;"
+ }, {
+ "field" : "__go_rh",
+ "owner" : "go",
+ "name" : "rh",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 505522001
+ }, {
+ "field" : "__gm_b",
+ "owner" : "gm",
+ "name" : "b",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__gm_n",
+ "owner" : "gm",
+ "name" : "n",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__gh_q",
+ "owner" : "gh",
+ "name" : "q",
+ "access" : 9,
+ "descriptor" : "[[B"
+ }, {
+ "field" : "__gb_se",
+ "owner" : "gb",
+ "name" : "se",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -10040823
+ }, {
+ "field" : "__gc_n",
+ "owner" : "gc",
+ "name" : "n",
+ "access" : 8,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__gc_g",
+ "owner" : "gc",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "Ljava/util/Calendar;"
+ }, {
+ "field" : "__gc_s",
+ "owner" : "gc",
+ "name" : "s",
+ "access" : 24,
+ "descriptor" : "[Ljava/lang/String;"
+ }, {
+ "field" : "__gc_a",
+ "owner" : "gc",
+ "name" : "a",
+ "access" : 24,
+ "descriptor" : "[[Ljava/lang/String;"
+ }, {
+ "field" : "__hu_hx",
+ "owner" : "hu",
+ "name" : "hx",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1066051173
+ }, {
+ "field" : "__hu_e",
+ "owner" : "hu",
+ "name" : "e",
+ "access" : 8,
+ "descriptor" : "Llv;"
+ }, {
+ "field" : "__hd_h",
+ "owner" : "hd",
+ "name" : "h",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -243495611
+ }, {
+ "field" : "__hd_a",
+ "owner" : "hd",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__hd_g",
+ "owner" : "hd",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__hd_s",
+ "owner" : "hd",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__hf_b",
+ "owner" : "hf",
+ "name" : "b",
+ "access" : 24,
+ "descriptor" : "[B"
+ }, {
+ "field" : "__il_p",
+ "owner" : "il",
+ "name" : "p",
+ "access" : 9,
+ "descriptor" : "[S"
+ }, {
+ "field" : "__il_q",
+ "owner" : "il",
+ "name" : "q",
+ "access" : 9,
+ "descriptor" : "[S"
+ }, {
+ "field" : "__il_m",
+ "owner" : "il",
+ "name" : "m",
+ "access" : 9,
+ "descriptor" : "[[S"
+ }, {
+ "field" : "__il_n",
+ "owner" : "il",
+ "name" : "n",
+ "access" : 24,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__iy_a",
+ "owner" : "iy",
+ "name" : "a",
+ "access" : 25,
+ "descriptor" : "[S"
+ }, {
+ "field" : "__iy_g",
+ "owner" : "iy",
+ "name" : "g",
+ "access" : 25,
+ "descriptor" : "[S"
+ }, {
+ "field" : "__iy_s",
+ "owner" : "iy",
+ "name" : "s",
+ "access" : 25,
+ "descriptor" : "[[S"
+ }, {
+ "field" : "__iy_x",
+ "owner" : "iy",
+ "name" : "x",
+ "access" : 25,
+ "descriptor" : "[[S"
+ }, {
+ "field" : "__ia_o",
+ "owner" : "ia",
+ "name" : "o",
+ "access" : 9,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__ia_e",
+ "owner" : "ia",
+ "name" : "e",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "__ia_l",
+ "owner" : "ia",
+ "name" : "l",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "__ia_b",
+ "owner" : "ia",
+ "name" : "b",
+ "access" : 8,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__it_ac",
+ "owner" : "it",
+ "name" : "ac",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ad",
+ "owner" : "it",
+ "name" : "ad",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ai",
+ "owner" : "it",
+ "name" : "ai",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_aj",
+ "owner" : "it",
+ "name" : "aj",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ak",
+ "owner" : "it",
+ "name" : "ak",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_al",
+ "owner" : "it",
+ "name" : "al",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_am",
+ "owner" : "it",
+ "name" : "am",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ao",
+ "owner" : "it",
+ "name" : "ao",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ap",
+ "owner" : "it",
+ "name" : "ap",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_aq",
+ "owner" : "it",
+ "name" : "aq",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ar",
+ "owner" : "it",
+ "name" : "ar",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_as",
+ "owner" : "it",
+ "name" : "as",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ax",
+ "owner" : "it",
+ "name" : "ax",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_az",
+ "owner" : "it",
+ "name" : "az",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_b",
+ "owner" : "it",
+ "name" : "b",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ba",
+ "owner" : "it",
+ "name" : "ba",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bb",
+ "owner" : "it",
+ "name" : "bb",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bc",
+ "owner" : "it",
+ "name" : "bc",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bd",
+ "owner" : "it",
+ "name" : "bd",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_be",
+ "owner" : "it",
+ "name" : "be",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bf",
+ "owner" : "it",
+ "name" : "bf",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bg",
+ "owner" : "it",
+ "name" : "bg",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bh",
+ "owner" : "it",
+ "name" : "bh",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bi",
+ "owner" : "it",
+ "name" : "bi",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bj",
+ "owner" : "it",
+ "name" : "bj",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bk",
+ "owner" : "it",
+ "name" : "bk",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bl",
+ "owner" : "it",
+ "name" : "bl",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bm",
+ "owner" : "it",
+ "name" : "bm",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bn",
+ "owner" : "it",
+ "name" : "bn",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bo",
+ "owner" : "it",
+ "name" : "bo",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bp",
+ "owner" : "it",
+ "name" : "bp",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bq",
+ "owner" : "it",
+ "name" : "bq",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_br",
+ "owner" : "it",
+ "name" : "br",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bs",
+ "owner" : "it",
+ "name" : "bs",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bt",
+ "owner" : "it",
+ "name" : "bt",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bu",
+ "owner" : "it",
+ "name" : "bu",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bv",
+ "owner" : "it",
+ "name" : "bv",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bw",
+ "owner" : "it",
+ "name" : "bw",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bx",
+ "owner" : "it",
+ "name" : "bx",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_by",
+ "owner" : "it",
+ "name" : "by",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_bz",
+ "owner" : "it",
+ "name" : "bz",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ca",
+ "owner" : "it",
+ "name" : "ca",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cb",
+ "owner" : "it",
+ "name" : "cb",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cc",
+ "owner" : "it",
+ "name" : "cc",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cd",
+ "owner" : "it",
+ "name" : "cd",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ce",
+ "owner" : "it",
+ "name" : "ce",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cf",
+ "owner" : "it",
+ "name" : "cf",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cg",
+ "owner" : "it",
+ "name" : "cg",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ch",
+ "owner" : "it",
+ "name" : "ch",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ci",
+ "owner" : "it",
+ "name" : "ci",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cj",
+ "owner" : "it",
+ "name" : "cj",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ck",
+ "owner" : "it",
+ "name" : "ck",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cl",
+ "owner" : "it",
+ "name" : "cl",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cm",
+ "owner" : "it",
+ "name" : "cm",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cn",
+ "owner" : "it",
+ "name" : "cn",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_co",
+ "owner" : "it",
+ "name" : "co",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cp",
+ "owner" : "it",
+ "name" : "cp",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cq",
+ "owner" : "it",
+ "name" : "cq",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cr",
+ "owner" : "it",
+ "name" : "cr",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cs",
+ "owner" : "it",
+ "name" : "cs",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ct",
+ "owner" : "it",
+ "name" : "ct",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cu",
+ "owner" : "it",
+ "name" : "cu",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cv",
+ "owner" : "it",
+ "name" : "cv",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cw",
+ "owner" : "it",
+ "name" : "cw",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cx",
+ "owner" : "it",
+ "name" : "cx",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cy",
+ "owner" : "it",
+ "name" : "cy",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_cz",
+ "owner" : "it",
+ "name" : "cz",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_da",
+ "owner" : "it",
+ "name" : "da",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_db",
+ "owner" : "it",
+ "name" : "db",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dc",
+ "owner" : "it",
+ "name" : "dc",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dd",
+ "owner" : "it",
+ "name" : "dd",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_de",
+ "owner" : "it",
+ "name" : "de",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_df",
+ "owner" : "it",
+ "name" : "df",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dg",
+ "owner" : "it",
+ "name" : "dg",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_di",
+ "owner" : "it",
+ "name" : "di",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dj",
+ "owner" : "it",
+ "name" : "dj",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dk",
+ "owner" : "it",
+ "name" : "dk",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dl",
+ "owner" : "it",
+ "name" : "dl",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dn",
+ "owner" : "it",
+ "name" : "dn",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_do",
+ "owner" : "it",
+ "name" : "do",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dp",
+ "owner" : "it",
+ "name" : "dp",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dq",
+ "owner" : "it",
+ "name" : "dq",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dr",
+ "owner" : "it",
+ "name" : "dr",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ds",
+ "owner" : "it",
+ "name" : "ds",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dt",
+ "owner" : "it",
+ "name" : "dt",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_du",
+ "owner" : "it",
+ "name" : "du",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dv",
+ "owner" : "it",
+ "name" : "dv",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dw",
+ "owner" : "it",
+ "name" : "dw",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dx",
+ "owner" : "it",
+ "name" : "dx",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dy",
+ "owner" : "it",
+ "name" : "dy",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_dz",
+ "owner" : "it",
+ "name" : "dz",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ea",
+ "owner" : "it",
+ "name" : "ea",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_eb",
+ "owner" : "it",
+ "name" : "eb",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ed",
+ "owner" : "it",
+ "name" : "ed",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ee",
+ "owner" : "it",
+ "name" : "ee",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ef",
+ "owner" : "it",
+ "name" : "ef",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_eg",
+ "owner" : "it",
+ "name" : "eg",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ei",
+ "owner" : "it",
+ "name" : "ei",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ej",
+ "owner" : "it",
+ "name" : "ej",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ek",
+ "owner" : "it",
+ "name" : "ek",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_el",
+ "owner" : "it",
+ "name" : "el",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_em",
+ "owner" : "it",
+ "name" : "em",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_en",
+ "owner" : "it",
+ "name" : "en",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_eo",
+ "owner" : "it",
+ "name" : "eo",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ep",
+ "owner" : "it",
+ "name" : "ep",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_er",
+ "owner" : "it",
+ "name" : "er",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_es",
+ "owner" : "it",
+ "name" : "es",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ev",
+ "owner" : "it",
+ "name" : "ev",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ew",
+ "owner" : "it",
+ "name" : "ew",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ex",
+ "owner" : "it",
+ "name" : "ex",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ey",
+ "owner" : "it",
+ "name" : "ey",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ez",
+ "owner" : "it",
+ "name" : "ez",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_fb",
+ "owner" : "it",
+ "name" : "fb",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_fc",
+ "owner" : "it",
+ "name" : "fc",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_fd",
+ "owner" : "it",
+ "name" : "fd",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_fi",
+ "owner" : "it",
+ "name" : "fi",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_fl",
+ "owner" : "it",
+ "name" : "fl",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_fr",
+ "owner" : "it",
+ "name" : "fr",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_fu",
+ "owner" : "it",
+ "name" : "fu",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_fw",
+ "owner" : "it",
+ "name" : "fw",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_fy",
+ "owner" : "it",
+ "name" : "fy",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_fz",
+ "owner" : "it",
+ "name" : "fz",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ga",
+ "owner" : "it",
+ "name" : "ga",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gb",
+ "owner" : "it",
+ "name" : "gb",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gc",
+ "owner" : "it",
+ "name" : "gc",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gd",
+ "owner" : "it",
+ "name" : "gd",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ge",
+ "owner" : "it",
+ "name" : "ge",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gf",
+ "owner" : "it",
+ "name" : "gf",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gg",
+ "owner" : "it",
+ "name" : "gg",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gh",
+ "owner" : "it",
+ "name" : "gh",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gi",
+ "owner" : "it",
+ "name" : "gi",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gj",
+ "owner" : "it",
+ "name" : "gj",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gk",
+ "owner" : "it",
+ "name" : "gk",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gl",
+ "owner" : "it",
+ "name" : "gl",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gm",
+ "owner" : "it",
+ "name" : "gm",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gn",
+ "owner" : "it",
+ "name" : "gn",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_go",
+ "owner" : "it",
+ "name" : "go",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gp",
+ "owner" : "it",
+ "name" : "gp",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gq",
+ "owner" : "it",
+ "name" : "gq",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gr",
+ "owner" : "it",
+ "name" : "gr",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gs",
+ "owner" : "it",
+ "name" : "gs",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gt",
+ "owner" : "it",
+ "name" : "gt",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gu",
+ "owner" : "it",
+ "name" : "gu",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gv",
+ "owner" : "it",
+ "name" : "gv",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gw",
+ "owner" : "it",
+ "name" : "gw",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gx",
+ "owner" : "it",
+ "name" : "gx",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gy",
+ "owner" : "it",
+ "name" : "gy",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_gz",
+ "owner" : "it",
+ "name" : "gz",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ha",
+ "owner" : "it",
+ "name" : "ha",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_hh",
+ "owner" : "it",
+ "name" : "hh",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_hi",
+ "owner" : "it",
+ "name" : "hi",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_hj",
+ "owner" : "it",
+ "name" : "hj",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_hk",
+ "owner" : "it",
+ "name" : "hk",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ho",
+ "owner" : "it",
+ "name" : "ho",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_hp",
+ "owner" : "it",
+ "name" : "hp",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_hr",
+ "owner" : "it",
+ "name" : "hr",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_hs",
+ "owner" : "it",
+ "name" : "hs",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ht",
+ "owner" : "it",
+ "name" : "ht",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_hv",
+ "owner" : "it",
+ "name" : "hv",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_hx",
+ "owner" : "it",
+ "name" : "hx",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_hy",
+ "owner" : "it",
+ "name" : "hy",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_hz",
+ "owner" : "it",
+ "name" : "hz",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ib",
+ "owner" : "it",
+ "name" : "ib",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_id",
+ "owner" : "it",
+ "name" : "id",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ig",
+ "owner" : "it",
+ "name" : "ig",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ih",
+ "owner" : "it",
+ "name" : "ih",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ij",
+ "owner" : "it",
+ "name" : "ij",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_il",
+ "owner" : "it",
+ "name" : "il",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_in",
+ "owner" : "it",
+ "name" : "in",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_io",
+ "owner" : "it",
+ "name" : "io",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ip",
+ "owner" : "it",
+ "name" : "ip",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_iq",
+ "owner" : "it",
+ "name" : "iq",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ir",
+ "owner" : "it",
+ "name" : "ir",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_is",
+ "owner" : "it",
+ "name" : "is",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_it",
+ "owner" : "it",
+ "name" : "it",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_iu",
+ "owner" : "it",
+ "name" : "iu",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_iv",
+ "owner" : "it",
+ "name" : "iv",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_iw",
+ "owner" : "it",
+ "name" : "iw",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ix",
+ "owner" : "it",
+ "name" : "ix",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_iz",
+ "owner" : "it",
+ "name" : "iz",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ja",
+ "owner" : "it",
+ "name" : "ja",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jb",
+ "owner" : "it",
+ "name" : "jb",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jc",
+ "owner" : "it",
+ "name" : "jc",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jd",
+ "owner" : "it",
+ "name" : "jd",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_je",
+ "owner" : "it",
+ "name" : "je",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jf",
+ "owner" : "it",
+ "name" : "jf",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jg",
+ "owner" : "it",
+ "name" : "jg",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jh",
+ "owner" : "it",
+ "name" : "jh",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ji",
+ "owner" : "it",
+ "name" : "ji",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jj",
+ "owner" : "it",
+ "name" : "jj",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jk",
+ "owner" : "it",
+ "name" : "jk",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jl",
+ "owner" : "it",
+ "name" : "jl",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jm",
+ "owner" : "it",
+ "name" : "jm",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jn",
+ "owner" : "it",
+ "name" : "jn",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jo",
+ "owner" : "it",
+ "name" : "jo",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jp",
+ "owner" : "it",
+ "name" : "jp",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jq",
+ "owner" : "it",
+ "name" : "jq",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jr",
+ "owner" : "it",
+ "name" : "jr",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_js",
+ "owner" : "it",
+ "name" : "js",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jt",
+ "owner" : "it",
+ "name" : "jt",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ju",
+ "owner" : "it",
+ "name" : "ju",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jv",
+ "owner" : "it",
+ "name" : "jv",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jw",
+ "owner" : "it",
+ "name" : "jw",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jx",
+ "owner" : "it",
+ "name" : "jx",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jy",
+ "owner" : "it",
+ "name" : "jy",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_jz",
+ "owner" : "it",
+ "name" : "jz",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ka",
+ "owner" : "it",
+ "name" : "ka",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_kd",
+ "owner" : "it",
+ "name" : "kd",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_kj",
+ "owner" : "it",
+ "name" : "kj",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_kl",
+ "owner" : "it",
+ "name" : "kl",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_km",
+ "owner" : "it",
+ "name" : "km",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_kn",
+ "owner" : "it",
+ "name" : "kn",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_kq",
+ "owner" : "it",
+ "name" : "kq",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_ku",
+ "owner" : "it",
+ "name" : "ku",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_kz",
+ "owner" : "it",
+ "name" : "kz",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_m",
+ "owner" : "it",
+ "name" : "m",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_n",
+ "owner" : "it",
+ "name" : "n",
+ "access" : 9,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__it_au",
+ "owner" : "it",
+ "name" : "au",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__ij_bv",
+ "owner" : "ij",
+ "name" : "bv",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -163727267
+ }, {
+ "field" : "__ij_ay",
+ "owner" : "ij",
+ "name" : "ay",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__is_e",
+ "owner" : "is",
+ "name" : "e",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ix_a",
+ "owner" : "ix",
+ "name" : "a",
+ "access" : 24,
+ "descriptor" : "Lix;"
+ }, {
+ "field" : "__ix_g",
+ "owner" : "ix",
+ "name" : "g",
+ "access" : 24,
+ "descriptor" : "Lix;"
+ }, {
+ "field" : "__ix_s",
+ "owner" : "ix",
+ "name" : "s",
+ "access" : 24,
+ "descriptor" : "Lix;"
+ }, {
+ "field" : "__ix_x",
+ "owner" : "ix",
+ "name" : "x",
+ "access" : 24,
+ "descriptor" : "Lix;"
+ }, {
+ "field" : "__ib_a",
+ "owner" : "ib",
+ "name" : "a",
+ "access" : 25,
+ "descriptor" : "Lib;"
+ }, {
+ "field" : "__ib_f",
+ "owner" : "ib",
+ "name" : "f",
+ "access" : 25,
+ "descriptor" : "Lib;"
+ }, {
+ "field" : "__ib_g",
+ "owner" : "ib",
+ "name" : "g",
+ "access" : 25,
+ "descriptor" : "Lib;"
+ }, {
+ "field" : "__ib_h",
+ "owner" : "ib",
+ "name" : "h",
+ "access" : 25,
+ "descriptor" : "Lib;"
+ }, {
+ "field" : "__ib_s",
+ "owner" : "ib",
+ "name" : "s",
+ "access" : 25,
+ "descriptor" : "Lib;"
+ }, {
+ "field" : "__ib_x",
+ "owner" : "ib",
+ "name" : "x",
+ "access" : 25,
+ "descriptor" : "Lib;"
+ }, {
+ "field" : "__iz_y",
+ "owner" : "iz",
+ "name" : "y",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 220234369
+ }, {
+ "field" : "__id_g",
+ "owner" : "id",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 1081660597
+ }, {
+ "field" : "__io_r",
+ "owner" : "io",
+ "name" : "r",
+ "access" : 9,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__io_w",
+ "owner" : "io",
+ "name" : "w",
+ "access" : 9,
+ "descriptor" : "B"
+ }, {
+ "field" : "__io_s",
+ "owner" : "io",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -807616267
+ }, {
+ "field" : "__io_u",
+ "owner" : "io",
+ "name" : "u",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -950419947
+ }, {
+ "field" : "__io_g",
+ "owner" : "io",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "J",
+ "decoder" : 8231885883365805505
+ }, {
+ "field" : "__ip_f",
+ "owner" : "ip",
+ "name" : "f",
+ "access" : 8,
+ "descriptor" : "Lld;"
+ }, {
+ "field" : "__ja_a",
+ "owner" : "ja",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__ja_s",
+ "owner" : "ja",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "__ja_l",
+ "owner" : "ja",
+ "name" : "l",
+ "access" : 8,
+ "descriptor" : "[[[I"
+ }, {
+ "field" : "__jn_gh",
+ "owner" : "jn",
+ "name" : "gh",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -845922967
+ }, {
+ "field" : "__jd_a",
+ "owner" : "jd",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__jl_s",
+ "owner" : "jl",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "__jl_a",
+ "owner" : "jl",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__jx_s",
+ "owner" : "jx",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__jp_a",
+ "owner" : "jp",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__jp_s",
+ "owner" : "jp",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__jz_a",
+ "owner" : "jz",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__jq_s",
+ "owner" : "jq",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "__jq_a",
+ "owner" : "jq",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__je_h",
+ "owner" : "je",
+ "name" : "h",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "__je_a",
+ "owner" : "je",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__je_g",
+ "owner" : "je",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__jy_f",
+ "owner" : "jy",
+ "name" : "f",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "__jy_h",
+ "owner" : "jy",
+ "name" : "h",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "__jy_m",
+ "owner" : "jy",
+ "name" : "m",
+ "access" : 8,
+ "descriptor" : "[Ldk;"
+ }, {
+ "field" : "__jy_g",
+ "owner" : "jy",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__jc_m",
+ "owner" : "jc",
+ "name" : "m",
+ "access" : 9,
+ "descriptor" : "Z"
+ }, {
+ "field" : "__jc_q",
+ "owner" : "jc",
+ "name" : "q",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -2024720123
+ }, {
+ "field" : "__jw_a",
+ "owner" : "jw",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__jw_sg",
+ "owner" : "jw",
+ "name" : "sg",
+ "access" : 8,
+ "descriptor" : "J",
+ "decoder" : -6858018479485301323
+ }, {
+ "field" : "__ju_h",
+ "owner" : "ju",
+ "name" : "h",
+ "access" : 9,
+ "descriptor" : "Lgp;"
+ }, {
+ "field" : "__ju_s",
+ "owner" : "ju",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "Liz;"
+ }, {
+ "field" : "__ju_dp",
+ "owner" : "ju",
+ "name" : "dp",
+ "access" : 8,
+ "descriptor" : "Lin;"
+ }, {
+ "field" : "__jb_r",
+ "owner" : "jb",
+ "name" : "r",
+ "access" : 25,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_t",
+ "owner" : "jb",
+ "name" : "t",
+ "access" : 25,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_a",
+ "owner" : "jb",
+ "name" : "a",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_b",
+ "owner" : "jb",
+ "name" : "b",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_e",
+ "owner" : "jb",
+ "name" : "e",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_f",
+ "owner" : "jb",
+ "name" : "f",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_g",
+ "owner" : "jb",
+ "name" : "g",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_h",
+ "owner" : "jb",
+ "name" : "h",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_k",
+ "owner" : "jb",
+ "name" : "k",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_l",
+ "owner" : "jb",
+ "name" : "l",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_m",
+ "owner" : "jb",
+ "name" : "m",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_n",
+ "owner" : "jb",
+ "name" : "n",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_o",
+ "owner" : "jb",
+ "name" : "o",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_p",
+ "owner" : "jb",
+ "name" : "p",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_q",
+ "owner" : "jb",
+ "name" : "q",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_s",
+ "owner" : "jb",
+ "name" : "s",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_u",
+ "owner" : "jb",
+ "name" : "u",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_x",
+ "owner" : "jb",
+ "name" : "x",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__jb_y",
+ "owner" : "jb",
+ "name" : "y",
+ "access" : 24,
+ "descriptor" : "Ljb;"
+ }, {
+ "field" : "__kz_cd",
+ "owner" : "kz",
+ "name" : "cd",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 2034641555
+ }, {
+ "field" : "__kw_qb",
+ "owner" : "kw",
+ "name" : "qb",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : 182890269
+ }, {
+ "field" : "__kp_g",
+ "owner" : "kp",
+ "name" : "g",
+ "access" : 25,
+ "descriptor" : "[C"
+ }, {
+ "field" : "__kp_x",
+ "owner" : "kp",
+ "name" : "x",
+ "access" : 25,
+ "descriptor" : "[C"
+ }, {
+ "field" : "__kv_a",
+ "owner" : "kv",
+ "name" : "a",
+ "access" : 8,
+ "descriptor" : "[C"
+ }, {
+ "field" : "__kv_g",
+ "owner" : "kv",
+ "name" : "g",
+ "access" : 8,
+ "descriptor" : "[C"
+ }, {
+ "field" : "__kv_s",
+ "owner" : "kv",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "[C"
+ }, {
+ "field" : "__kv_x",
+ "owner" : "kv",
+ "name" : "x",
+ "access" : 8,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__kv_br",
+ "owner" : "kv",
+ "name" : "br",
+ "access" : 8,
+ "descriptor" : "Ljava/lang/String;"
+ }, {
+ "field" : "__lk_qp",
+ "owner" : "lk",
+ "name" : "qp",
+ "access" : 8,
+ "descriptor" : "I",
+ "decoder" : -1868141335
+ }, {
+ "field" : "__lp_a",
+ "owner" : "lp",
+ "name" : "a",
+ "access" : 25,
+ "descriptor" : "Llp;"
+ }, {
+ "field" : "__lp_g",
+ "owner" : "lp",
+ "name" : "g",
+ "access" : 24,
+ "descriptor" : "Llp;"
+ }, {
+ "field" : "__lp_s",
+ "owner" : "lp",
+ "name" : "s",
+ "access" : 24,
+ "descriptor" : "Llp;"
+ }, {
+ "field" : "__lu_a",
+ "owner" : "lu",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 779152013
+ }, {
+ "field" : "__lu_g",
+ "owner" : "lu",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : -1577004589
+ }, {
+ "field" : "__lu_s",
+ "owner" : "lu",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "I",
+ "decoder" : 92931211
+ }, {
+ "field" : "__lu_f",
+ "owner" : "lu",
+ "name" : "f",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__lu_m",
+ "owner" : "lu",
+ "name" : "m",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__lu_p",
+ "owner" : "lu",
+ "name" : "p",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__lu_x",
+ "owner" : "lu",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "[I"
+ }, {
+ "field" : "__ll_a",
+ "owner" : "ll",
+ "name" : "a",
+ "access" : 25,
+ "descriptor" : "Lll;"
+ }, {
+ "field" : "__ll_q",
+ "owner" : "ll",
+ "name" : "q",
+ "access" : 25,
+ "descriptor" : "Lll;"
+ }, {
+ "field" : "__ll_f",
+ "owner" : "ll",
+ "name" : "f",
+ "access" : 24,
+ "descriptor" : "Lll;"
+ }, {
+ "field" : "__ll_g",
+ "owner" : "ll",
+ "name" : "g",
+ "access" : 24,
+ "descriptor" : "Lll;"
+ }, {
+ "field" : "__ll_h",
+ "owner" : "ll",
+ "name" : "h",
+ "access" : 24,
+ "descriptor" : "Lll;"
+ }, {
+ "field" : "__ll_m",
+ "owner" : "ll",
+ "name" : "m",
+ "access" : 24,
+ "descriptor" : "Lll;"
+ }, {
+ "field" : "__ll_p",
+ "owner" : "ll",
+ "name" : "p",
+ "access" : 24,
+ "descriptor" : "Lll;"
+ }, {
+ "field" : "__ll_s",
+ "owner" : "ll",
+ "name" : "s",
+ "access" : 24,
+ "descriptor" : "Lll;"
+ }, {
+ "field" : "__ll_x",
+ "owner" : "ll",
+ "name" : "x",
+ "access" : 24,
+ "descriptor" : "Lll;"
+ } ],
+ "methods" : [ {
+ "method" : "AbstractFont_drawGlyph",
+ "owner" : "kf",
+ "name" : "at",
+ "access" : 8,
+ "parameters" : [ "pixels", "x", "y", "width", "height", "color" ],
+ "descriptor" : "([BIIIII)V"
+ }, {
+ "method" : "AbstractFont_drawGlyphAlpha",
+ "owner" : "kf",
+ "name" : "av",
+ "access" : 8,
+ "parameters" : [ "pixels", "x", "y", "width", "height", "color", "alpha" ],
+ "descriptor" : "([BIIIIII)V"
+ }, {
+ "method" : "AbstractFont_placeGlyph",
+ "owner" : "kf",
+ "name" : "ae",
+ "access" : 8,
+ "descriptor" : "([I[BIIIIIII)V"
+ }, {
+ "method" : "AbstractFont_placeGlyphAlpha",
+ "owner" : "kf",
+ "name" : "au",
+ "access" : 8,
+ "descriptor" : "([I[BIIIIIIII)V"
+ }, {
+ "method" : "ByteArrayPool_get",
+ "owner" : "go",
+ "name" : "a",
+ "access" : 40,
+ "descriptor" : "(IZI)[B"
+ }, {
+ "method" : "Bzip2Decompressor_decompress",
+ "owner" : "ga",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "([BI[BII)I"
+ }, {
+ "method" : "IterableNodeDeque_addBefore",
+ "owner" : "hj",
+ "name" : "x",
+ "access" : 9,
+ "parameters" : [ "node", "old" ],
+ "descriptor" : "(Lhy;Lhy;)V"
+ }, {
+ "method" : "PcmStream_disable",
+ "owner" : "ab",
+ "name" : "ar",
+ "access" : 24,
+ "parameters" : [ "stream" ],
+ "descriptor" : "(Ldo;I)V"
+ }, {
+ "method" : "Rasterizer2D_clear",
+ "owner" : "lb",
+ "name" : "dz",
+ "access" : 9,
+ "descriptor" : "()V"
+ }, {
+ "method" : "Rasterizer2D_drawHorizontalLine",
+ "owner" : "lb",
+ "name" : "dc",
+ "access" : 9,
+ "parameters" : [ "x", "y", "length", "color" ],
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "Rasterizer2D_drawHorizontalLineAlpha",
+ "owner" : "lb",
+ "name" : "dj",
+ "access" : 8,
+ "parameters" : [ "x", "y", "length", "rgb", "alpha" ],
+ "descriptor" : "(IIIII)V"
+ }, {
+ "method" : "Rasterizer2D_drawLine",
+ "owner" : "lb",
+ "name" : "du",
+ "access" : 9,
+ "parameters" : [ "x0", "y0", "x1", "y1", "color" ],
+ "descriptor" : "(IIIII)V"
+ }, {
+ "method" : "Rasterizer2D_drawRectangle",
+ "owner" : "lb",
+ "name" : "do",
+ "access" : 9,
+ "parameters" : [ "x", "y", "width", "height", "color" ],
+ "descriptor" : "(IIIII)V"
+ }, {
+ "method" : "Rasterizer2D_drawRectangleAlpha",
+ "owner" : "lb",
+ "name" : "dd",
+ "access" : 9,
+ "parameters" : [ "x", "y", "width", "height", "rgb", "alpha" ],
+ "descriptor" : "(IIIIII)V"
+ }, {
+ "method" : "Rasterizer2D_drawVerticalLine",
+ "owner" : "lb",
+ "name" : "dx",
+ "access" : 9,
+ "parameters" : [ "x", "y", "length", "color" ],
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "Rasterizer2D_drawVerticalLineAlpha",
+ "owner" : "lb",
+ "name" : "da",
+ "access" : 8,
+ "parameters" : [ "x", "y", "length", "rgb", "alpha" ],
+ "descriptor" : "(IIIII)V"
+ }, {
+ "method" : "Rasterizer2D_expandClip",
+ "owner" : "lb",
+ "name" : "cj",
+ "access" : 9,
+ "parameters" : [ "xStart", "yStart", "xEnd", "yEnd" ],
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "Rasterizer2D_fillRectangle",
+ "owner" : "lb",
+ "name" : "dq",
+ "access" : 9,
+ "parameters" : [ "x", "y", "width", "height", "color" ],
+ "descriptor" : "(IIIII)V"
+ }, {
+ "method" : "Rasterizer2D_getClipArray",
+ "owner" : "lb",
+ "name" : "cz",
+ "access" : 9,
+ "parameters" : [ "dst" ],
+ "descriptor" : "([I)V"
+ }, {
+ "method" : "Rasterizer2D_replace",
+ "owner" : "lb",
+ "name" : "cu",
+ "access" : 9,
+ "parameters" : [ "pixels", "width", "height" ],
+ "descriptor" : "([III)V"
+ }, {
+ "method" : "Rasterizer2D_resetClip",
+ "owner" : "lb",
+ "name" : "ci",
+ "access" : 9,
+ "descriptor" : "()V"
+ }, {
+ "method" : "Rasterizer2D_setClip",
+ "owner" : "lb",
+ "name" : "ce",
+ "access" : 9,
+ "parameters" : [ "xStart", "yStart", "xEnd", "yEnd" ],
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "Rasterizer2D_setClipArray",
+ "owner" : "lb",
+ "name" : "cl",
+ "access" : 9,
+ "parameters" : [ "src" ],
+ "descriptor" : "([I)V"
+ }, {
+ "method" : "Rasterizer2D_setPixel",
+ "owner" : "lb",
+ "name" : "dy",
+ "access" : 8,
+ "parameters" : [ "x", "y", "color" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "Rasterizer3D_brighten",
+ "owner" : "df",
+ "name" : "m",
+ "access" : 8,
+ "parameters" : [ "rgb", "brightness" ],
+ "descriptor" : "(ID)I"
+ }, {
+ "method" : "Rasterizer3D_buildPalette",
+ "owner" : "df",
+ "name" : "p",
+ "access" : 24,
+ "parameters" : [ "brightness", "hsMin", "hsMax" ],
+ "descriptor" : "(DII)V"
+ }, {
+ "method" : "Rasterizer3D_method1",
+ "owner" : "df",
+ "name" : "a",
+ "access" : 25,
+ "descriptor" : "()V"
+ }, {
+ "method" : "Rasterizer3D_method3",
+ "owner" : "df",
+ "name" : "g",
+ "access" : 25,
+ "descriptor" : "()V"
+ }, {
+ "method" : "Rasterizer3D_setBrightness",
+ "owner" : "df",
+ "name" : "f",
+ "access" : 25,
+ "parameters" : [ "brightness" ],
+ "descriptor" : "(D)V"
+ }, {
+ "method" : "Rasterizer3D_setClip",
+ "owner" : "df",
+ "name" : "s",
+ "access" : 24,
+ "parameters" : [ "xStart", "yStart", "xEnd", "yEnd" ],
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "Rasterizer3D_setTextureLoader",
+ "owner" : "df",
+ "name" : "h",
+ "access" : 25,
+ "parameters" : [ "textureLoader" ],
+ "descriptor" : "(Lew;)V"
+ }, {
+ "method" : "Scene_addOccluder",
+ "owner" : "en",
+ "name" : "x",
+ "access" : 9,
+ "descriptor" : "(IIIIIIII)V"
+ }, {
+ "method" : "Scene_buildVisiblityMap",
+ "owner" : "en",
+ "name" : "al",
+ "access" : 9,
+ "parameters" : [ "a", "b", "c", "viewportWidth", "viewportHeight" ],
+ "descriptor" : "([IIIII)V"
+ }, {
+ "method" : "addMessage",
+ "owner" : "h",
+ "name" : "s",
+ "access" : 8,
+ "parameters" : [ "type", "sender", "text", "prefix" ],
+ "descriptor" : "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V"
+ }, {
+ "method" : "addNpcToMenu",
+ "owner" : "an",
+ "name" : "iw",
+ "access" : 24,
+ "parameters" : [ "npc", "menuArg0", "menuArg1", "menuArg2" ],
+ "descriptor" : "(Ljg;IIIS)V"
+ }, {
+ "method" : "addPlayerToMenu",
+ "owner" : "iu",
+ "name" : "ig",
+ "access" : 24,
+ "parameters" : [ "player", "menuArg0", "menuArg1", "menuArg2" ],
+ "descriptor" : "(Lbw;IIII)V"
+ }, {
+ "method" : "addPlayerToScene",
+ "owner" : "ft",
+ "name" : "gc",
+ "access" : 8,
+ "parameters" : [ "player", "b" ],
+ "descriptor" : "(Lbw;ZS)V"
+ }, {
+ "method" : "alignWidget",
+ "owner" : "client",
+ "name" : "ja",
+ "access" : 0,
+ "parameters" : [ "widget" ],
+ "descriptor" : "(Lia;I)V"
+ }, {
+ "method" : "alignWidgetPosition",
+ "owner" : "s",
+ "name" : "jh",
+ "access" : 8,
+ "parameters" : [ "widget", "parentWidth", "parentHeight" ],
+ "descriptor" : "(Lia;III)V"
+ }, {
+ "method" : "alignWidgetSize",
+ "owner" : "az",
+ "name" : "jl",
+ "access" : 8,
+ "parameters" : [ "widget", "parentWidth", "parentHeight", "b" ],
+ "descriptor" : "(Lia;IIZI)V"
+ }, {
+ "method" : "byteArrayFromObject",
+ "owner" : "bl",
+ "name" : "f",
+ "access" : 9,
+ "parameters" : [ "o", "copyArray" ],
+ "descriptor" : "(Ljava/lang/Object;ZI)[B"
+ }, {
+ "method" : "byteArrayToObject",
+ "owner" : "bu",
+ "name" : "h",
+ "access" : 9,
+ "parameters" : [ "bytes", "copyArray" ],
+ "descriptor" : "([BZI)Ljava/lang/Object;"
+ }, {
+ "method" : "charToByteCp1252",
+ "owner" : "bl",
+ "name" : "a",
+ "access" : 9,
+ "parameters" : [ "c" ],
+ "descriptor" : "(CI)B"
+ }, {
+ "method" : "clearIntArray",
+ "owner" : "gk",
+ "name" : "b",
+ "access" : 9,
+ "descriptor" : "([III)V"
+ }, {
+ "method" : "clickWidget",
+ "owner" : "aj",
+ "name" : "jw",
+ "access" : 24,
+ "parameters" : [ "widget", "x", "y" ],
+ "descriptor" : "(Lia;III)V"
+ }, {
+ "method" : "closeWidgetGroup",
+ "owner" : "jw",
+ "name" : "kd",
+ "access" : 24,
+ "parameters" : [ "w", "b" ],
+ "descriptor" : "(Lbk;ZI)V"
+ }, {
+ "method" : "colorStartTag",
+ "owner" : "bi",
+ "name" : "s",
+ "access" : 8,
+ "parameters" : [ "color" ],
+ "descriptor" : "(II)Ljava/lang/String;"
+ }, {
+ "method" : "compareWorlds",
+ "owner" : "h",
+ "name" : "p",
+ "access" : 8,
+ "parameters" : [ "w0", "w1", "mode", "b" ],
+ "descriptor" : "(Lbu;Lbu;IZI)I"
+ }, {
+ "method" : "currentTimeMs",
+ "owner" : "u",
+ "name" : "a",
+ "access" : 41,
+ "parameters" : [ ],
+ "descriptor" : "(I)J"
+ }, {
+ "method" : "decodeStringCp1252",
+ "owner" : "p",
+ "name" : "f",
+ "access" : 9,
+ "parameters" : [ "src", "srcStart", "length" ],
+ "descriptor" : "([BIIB)Ljava/lang/String;"
+ }, {
+ "method" : "decompressBytes",
+ "owner" : "bs",
+ "name" : "av",
+ "access" : 24,
+ "descriptor" : "([BB)[B"
+ }, {
+ "method" : "doCycle",
+ "owner" : "client",
+ "name" : "av",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "doCycleJs5",
+ "owner" : "client",
+ "name" : "fo",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "doCycleJs5Connect",
+ "owner" : "client",
+ "name" : "fm",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "doCycleLoggedIn",
+ "owner" : "client",
+ "name" : "fu",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "doCycleLoggedOut",
+ "owner" : "client",
+ "name" : "fi",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "draw",
+ "owner" : "client",
+ "name" : "au",
+ "access" : 20,
+ "descriptor" : "(ZB)V"
+ }, {
+ "method" : "drawActor2d",
+ "owner" : "ed",
+ "name" : "gt",
+ "access" : 24,
+ "parameters" : [ "actor", "a", "b", "c", "d", "e" ],
+ "descriptor" : "(Lbq;IIIIII)V"
+ }, {
+ "method" : "drawLoadingMessage",
+ "owner" : "cq",
+ "name" : "gr",
+ "access" : 24,
+ "descriptor" : "(Ljava/lang/String;ZI)V"
+ }, {
+ "method" : "drawLoggedIn",
+ "owner" : "client",
+ "name" : "gh",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(B)V"
+ }, {
+ "method" : "drawTitle",
+ "owner" : "fa",
+ "name" : "p",
+ "access" : 8,
+ "descriptor" : "(Lkt;Lkt;Lkt;ZB)V"
+ }, {
+ "method" : "drawWidgetGroup",
+ "owner" : "bn",
+ "name" : "id",
+ "access" : 24,
+ "descriptor" : "([Lia;IIIIIIIIB)V"
+ }, {
+ "method" : "encodeStringCp1252",
+ "owner" : "jt",
+ "name" : "h",
+ "access" : 9,
+ "parameters" : [ "src", "srcStart", "srcEnd", "dst", "dstStart" ],
+ "descriptor" : "(Ljava/lang/CharSequence;II[BII)I"
+ }, {
+ "method" : "escapeBrackets",
+ "owner" : "kf",
+ "name" : "e",
+ "access" : 9,
+ "parameters" : [ "s" ],
+ "descriptor" : "(Ljava/lang/String;)Ljava/lang/String;"
+ }, {
+ "method" : "findEnumerated",
+ "owner" : "cd",
+ "name" : "a",
+ "access" : 9,
+ "parameters" : [ "values", "ordinal" ],
+ "descriptor" : "([Lgr;IB)Lgr;"
+ }, {
+ "method" : "getFrames",
+ "owner" : "ep",
+ "name" : "b",
+ "access" : 8,
+ "parameters" : [ "id" ],
+ "descriptor" : "(II)Lei;"
+ }, {
+ "method" : "getHitSplatDefinition",
+ "owner" : "fl",
+ "name" : "a",
+ "access" : 9,
+ "parameters" : [ "id" ],
+ "descriptor" : "(II)Lje;"
+ }, {
+ "method" : "getItemDefinition",
+ "owner" : "bg",
+ "name" : "a",
+ "access" : 9,
+ "parameters" : [ "id" ],
+ "descriptor" : "(IS)Ljc;"
+ }, {
+ "method" : "getItemSprite",
+ "owner" : "ii",
+ "name" : "n",
+ "access" : 25,
+ "parameters" : [ "id", "quantity", "n0", "n1", "n2", "b0" ],
+ "descriptor" : "(IIIIIZB)Lld;"
+ }, {
+ "method" : "getKitDefinition",
+ "owner" : "bx",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "(IB)Ljx;"
+ }, {
+ "method" : "getNpcDefinition",
+ "owner" : "fh",
+ "name" : "s",
+ "access" : 9,
+ "parameters" : [ "id" ],
+ "descriptor" : "(II)Ljg;"
+ }, {
+ "method" : "getObjectDefinition",
+ "owner" : "b",
+ "name" : "s",
+ "access" : 9,
+ "parameters" : [ "id" ],
+ "descriptor" : "(IB)Ljy;"
+ }, {
+ "method" : "getParamKeyDefinition",
+ "owner" : "jw",
+ "name" : "a",
+ "access" : 9,
+ "parameters" : [ "id" ],
+ "descriptor" : "(II)Ljz;"
+ }, {
+ "method" : "getPreferencesFile",
+ "owner" : "ey",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "(Ljava/lang/String;Ljava/lang/String;ZB)Lda;"
+ }, {
+ "method" : "getSequenceDefinition",
+ "owner" : "eh",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "(II)Lju;"
+ }, {
+ "method" : "getSpotAnimationDefinition",
+ "owner" : "dz",
+ "name" : "s",
+ "access" : 9,
+ "descriptor" : "(II)Ljh;"
+ }, {
+ "method" : "getTileHeight",
+ "owner" : "fa",
+ "name" : "hj",
+ "access" : 24,
+ "descriptor" : "(IIII)I"
+ }, {
+ "method" : "getVarbit",
+ "owner" : "by",
+ "name" : "a",
+ "access" : 9,
+ "parameters" : [ "id" ],
+ "descriptor" : "(IB)I"
+ }, {
+ "method" : "getWidget",
+ "owner" : "cf",
+ "name" : "s",
+ "access" : 9,
+ "parameters" : [ "id" ],
+ "descriptor" : "(IB)Lia;"
+ }, {
+ "method" : "getWidgetChild",
+ "owner" : "n",
+ "name" : "g",
+ "access" : 9,
+ "descriptor" : "(III)Lia;"
+ }, {
+ "method" : "getWidgetClickMask",
+ "owner" : "f",
+ "name" : "kt",
+ "access" : 8,
+ "parameters" : [ "widget" ],
+ "descriptor" : "(Lia;I)I"
+ }, {
+ "method" : "getWorldMapElement",
+ "owner" : "ay",
+ "name" : "s",
+ "access" : 9,
+ "parameters" : [ "id" ],
+ "descriptor" : "(II)Ljd;"
+ }, {
+ "method" : "hashString",
+ "owner" : "gi",
+ "name" : "p",
+ "access" : 9,
+ "parameters" : [ "chars" ],
+ "descriptor" : "(Ljava/lang/CharSequence;B)I"
+ }, {
+ "method" : "init",
+ "owner" : "client",
+ "name" : "init",
+ "access" : 17,
+ "parameters" : [ ],
+ "descriptor" : "()V"
+ }, {
+ "method" : "insertMenuItem",
+ "owner" : "bv",
+ "name" : "is",
+ "access" : 24,
+ "parameters" : [ "action", "targetName", "opcode", "arg0", "arg1", "arg2", "b" ],
+ "descriptor" : "(Ljava/lang/String;Ljava/lang/String;IIIIZI)V"
+ }, {
+ "method" : "itemContainerSetItem",
+ "owner" : "l",
+ "name" : "x",
+ "access" : 8,
+ "parameters" : [ "itemContainerId", "index", "itemId", "itemQuantity" ],
+ "descriptor" : "(IIIII)V"
+ }, {
+ "method" : "js5Error",
+ "owner" : "client",
+ "name" : "ff",
+ "access" : 0,
+ "parameters" : [ "code" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "kill0",
+ "owner" : "client",
+ "name" : "aj",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "loadClassFromDescriptor",
+ "owner" : "ch",
+ "name" : "x",
+ "access" : 8,
+ "parameters" : [ "descriptor" ],
+ "descriptor" : "(Ljava/lang/String;B)Ljava/lang/Class;"
+ }, {
+ "method" : "loadRegions",
+ "owner" : "e",
+ "name" : "ho",
+ "access" : 24,
+ "parameters" : [ "isInInstance", "packetBuffer" ],
+ "descriptor" : "(ZLge;I)V"
+ }, {
+ "method" : "loadTerrain",
+ "owner" : "y",
+ "name" : "h",
+ "access" : 24,
+ "parameters" : [ "buffer", "plane", "x", "y", "x0", "y0", "n" ],
+ "descriptor" : "(Lgx;IIIIIIB)V"
+ }, {
+ "method" : "loadWidgetGroup",
+ "owner" : "bl",
+ "name" : "x",
+ "access" : 9,
+ "parameters" : [ "widgetGroup" ],
+ "descriptor" : "(IB)Z"
+ }, {
+ "method" : "loadWorlds",
+ "owner" : "af",
+ "name" : "a",
+ "access" : 8,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "menuAction",
+ "owner" : "aq",
+ "name" : "iu",
+ "access" : 24,
+ "parameters" : [ "argument1", "argument2", "opcode", "argument0", "action", "targetName", "mouseX", "mouseY" ],
+ "descriptor" : "(IIIILjava/lang/String;Ljava/lang/String;III)V"
+ }, {
+ "method" : "newIndexCache",
+ "owner" : "kw",
+ "name" : "fl",
+ "access" : 8,
+ "descriptor" : "(IZZZB)Lin;"
+ }, {
+ "method" : "newPcmPlayer",
+ "owner" : "at",
+ "name" : "aw",
+ "access" : 25,
+ "descriptor" : "(Lfo;IIB)Lcz;"
+ }, {
+ "method" : "newScript",
+ "owner" : "be",
+ "name" : "x",
+ "access" : 8,
+ "parameters" : [ "bytes" ],
+ "descriptor" : "([BB)Lcs;"
+ }, {
+ "method" : "openMenu",
+ "owner" : "client",
+ "name" : "ia",
+ "access" : 16,
+ "parameters" : [ "x", "y" ],
+ "descriptor" : "(IIB)V"
+ }, {
+ "method" : "openMenu0",
+ "owner" : "bc",
+ "name" : "im",
+ "access" : 8,
+ "parameters" : [ "x", "y" ],
+ "descriptor" : "(III)V"
+ }, {
+ "method" : "queueSoundEffect",
+ "owner" : "jz",
+ "name" : "fs",
+ "access" : 8,
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "readMusicSample",
+ "owner" : "ci",
+ "name" : "q",
+ "access" : 8,
+ "descriptor" : "(Liz;II)Lci;"
+ }, {
+ "method" : "readSoundEffect",
+ "owner" : "cu",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "(Liz;II)Lcu;"
+ }, {
+ "method" : "readSprite",
+ "owner" : "jx",
+ "name" : "s",
+ "access" : 9,
+ "parameters" : [ "indexCache", "index", "record" ],
+ "descriptor" : "(Liz;III)Lld;"
+ }, {
+ "method" : "readStringIntParameters",
+ "owner" : "kp",
+ "name" : "a",
+ "access" : 24,
+ "parameters" : [ "buffer", "hashTable" ],
+ "descriptor" : "(Lgx;Lgs;I)Lgs;"
+ }, {
+ "method" : "readTrack",
+ "owner" : "hx",
+ "name" : "a",
+ "access" : 9,
+ "descriptor" : "(Liz;II)Lhx;"
+ }, {
+ "method" : "requestNetFile",
+ "owner" : "ay",
+ "name" : "s",
+ "access" : 8,
+ "descriptor" : "(Lin;IIIBZI)V"
+ }, {
+ "method" : "runCs1",
+ "owner" : "jz",
+ "name" : "jp",
+ "access" : 24,
+ "parameters" : [ "widget" ],
+ "descriptor" : "(Lia;B)Z"
+ }, {
+ "method" : "runScript",
+ "owner" : "gc",
+ "name" : "a",
+ "access" : 9,
+ "parameters" : [ "scriptEvent" ],
+ "descriptor" : "(Lbr;I)V"
+ }, {
+ "method" : "runScript0",
+ "owner" : "ar",
+ "name" : "s",
+ "access" : 8,
+ "parameters" : [ "scriptEvent", "n" ],
+ "descriptor" : "(Lbr;II)V"
+ }, {
+ "method" : "setUp",
+ "owner" : "client",
+ "name" : "ae",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "setViewportShape",
+ "owner" : "iq",
+ "name" : "gb",
+ "access" : 24,
+ "parameters" : [ "x", "y", "width", "height", "clear" ],
+ "descriptor" : "(IIIIZI)V"
+ }, {
+ "method" : "updateExternalPlayer",
+ "owner" : "fg",
+ "name" : "h",
+ "access" : 8,
+ "descriptor" : "(Lge;II)Z"
+ }, {
+ "method" : "updateGameState",
+ "owner" : "jr",
+ "name" : "fn",
+ "access" : 8,
+ "parameters" : [ "gameState" ],
+ "descriptor" : "(II)V"
+ }, {
+ "method" : "updatePlayer",
+ "owner" : "ay",
+ "name" : "a",
+ "access" : 24,
+ "descriptor" : "(Lge;I)V"
+ }, {
+ "method" : "updateWidgetGroup",
+ "owner" : "ac",
+ "name" : "jy",
+ "access" : 24,
+ "parameters" : [ "widgets", "parentId", "a", "b", "c", "d", "x", "y" ],
+ "descriptor" : "([Lia;IIIIIIIB)V"
+ }, {
+ "method" : "username",
+ "owner" : "client",
+ "name" : "ln",
+ "access" : 1,
+ "descriptor" : "(I)Lkx;"
+ }, {
+ "method" : "worldMap",
+ "owner" : "ae",
+ "name" : "fj",
+ "access" : 8,
+ "descriptor" : "(B)Llq;"
+ }, {
+ "method" : "worldToMinimap",
+ "owner" : "iu",
+ "name" : "kz",
+ "access" : 24,
+ "descriptor" : "(IIIILld;Lhk;B)V"
+ }, {
+ "method" : "worldToScreen",
+ "owner" : "fm",
+ "name" : "ht",
+ "access" : 24,
+ "descriptor" : "(IIII)V"
+ }, {
+ "method" : "__ao_135",
+ "owner" : "client",
+ "name" : "ao",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__r_136",
+ "owner" : "client",
+ "name" : "r",
+ "access" : 20,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__gl_137",
+ "owner" : "client",
+ "name" : "gl",
+ "access" : 0,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__hg_138",
+ "owner" : "client",
+ "name" : "hg",
+ "access" : 16,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(Lck;I)Z"
+ }, {
+ "method" : "__iy_139",
+ "owner" : "client",
+ "name" : "iy",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ }, {
+ "method" : "__ic_140",
+ "owner" : "client",
+ "name" : "ic",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)Z"
+ }, {
+ "method" : "__ip_141",
+ "owner" : "client",
+ "name" : "ip",
+ "access" : 16,
+ "parameters" : [ "arg0" ],
+ "descriptor" : "(ZB)V"
+ }, {
+ "method" : "__ju_142",
+ "owner" : "client",
+ "name" : "ju",
+ "access" : 16,
+ "parameters" : [ ],
+ "descriptor" : "(I)V"
+ } ],
+ "constructors" : [ {
+ "access" : 1,
+ "descriptor" : "()V"
+ } ]
+} ]
\ No newline at end of file
diff --git a/extended-mixins/pom.xml b/extended-mixins/pom.xml
new file mode 100644
index 0000000000..e6a3429932
--- /dev/null
+++ b/extended-mixins/pom.xml
@@ -0,0 +1,111 @@
+
+
+
+ 4.0.0
+
+
+ net.runelite
+ runelite-parent
+ 1.5.24-SNAPSHOT
+
+
+ extended-mixins
+ RuneLite Extended Mixins
+
+
+
+ org.slf4j
+ slf4j-api
+ provided
+
+
+ net.runelite.rs
+ runescape-api
+ ${project.version}
+ provided
+
+
+ com.google.guava
+ guava
+ provided
+
+
+ javax.inject
+ javax.inject
+ 1
+ provided
+
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+ org.mockito
+ mockito-all
+ 1.10.19
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+ 1.7
+ 1.7
+
+
+
+ net.runelite
+ extended-mixin-processor
+ ${project.version}
+
+
+
+
+ reob-classes
+ process-classes
+
+ ${artifactId}/hooks.json
+ ${artifactId}/gamepack.deob.jar.op.json
+
+
+ process-mixins
+
+
+
+
+
+
+
diff --git a/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Append.java b/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Append.java
new file mode 100644
index 0000000000..b61a0bce5f
--- /dev/null
+++ b/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Append.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Append
+{
+}
diff --git a/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Inject.java b/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Inject.java
new file mode 100644
index 0000000000..3a1f411f7d
--- /dev/null
+++ b/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Inject.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Inject
+{
+}
diff --git a/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Overwrite.java b/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Overwrite.java
new file mode 100644
index 0000000000..ad9a6ba06b
--- /dev/null
+++ b/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Overwrite.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Overwrite
+{
+}
diff --git a/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Prepend.java b/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Prepend.java
new file mode 100644
index 0000000000..dcc614d9e6
--- /dev/null
+++ b/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Prepend.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Prepend
+{
+}
diff --git a/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Provided.java b/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Provided.java
new file mode 100644
index 0000000000..eedab52350
--- /dev/null
+++ b/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Provided.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Provided
+{
+}
diff --git a/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Reobfuscate.java b/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Reobfuscate.java
new file mode 100644
index 0000000000..a3f15be28c
--- /dev/null
+++ b/extended-mixins/src/main/java/us/runelitepl/mixinprocessor/annotations/Reobfuscate.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixinprocessor.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Reobfuscate
+{
+}
diff --git a/extended-mixins/src/main/java/us/runelitepl/mixins/Actor.java b/extended-mixins/src/main/java/us/runelitepl/mixins/Actor.java
new file mode 100644
index 0000000000..30c9f5fea9
--- /dev/null
+++ b/extended-mixins/src/main/java/us/runelitepl/mixins/Actor.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixins;
+
+import net.runelite.api.events.AnimationChanged;
+import net.runelite.api.events.GraphicChanged;
+import us.runelitepl.mixinprocessor.annotations.Overwrite;
+import us.runelitepl.mixinprocessor.annotations.Provided;
+import us.runelitepl.mixinprocessor.annotations.Reobfuscate;
+
+public class Actor
+{
+
+ @Reobfuscate
+ @Provided
+ int sequence;
+
+ @Overwrite
+ public int getAnimation()
+ {
+ return sequence * 42069;
+ }
+
+ @Overwrite
+ public void animationChanged(int n)
+ {
+ AnimationChanged animationChanged = new AnimationChanged();
+ animationChanged.setActor((net.runelite.api.Actor) this);
+ Client.INSTANCE.getCallbacks().post(animationChanged);
+ }
+
+ @Overwrite
+ public void graphicChanged(int n)
+ {
+ GraphicChanged graphicChanged = new GraphicChanged();
+ graphicChanged.setActor((net.runelite.api.Actor)this);
+ Client.INSTANCE.getCallbacks().post(graphicChanged);
+ }
+
+}
diff --git a/extended-mixins/src/main/java/us/runelitepl/mixins/Client.java b/extended-mixins/src/main/java/us/runelitepl/mixins/Client.java
new file mode 100644
index 0000000000..048876ffe7
--- /dev/null
+++ b/extended-mixins/src/main/java/us/runelitepl/mixins/Client.java
@@ -0,0 +1,543 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixins;
+
+import net.runelite.api.MenuEntry;
+import net.runelite.api.Node;
+import net.runelite.api.hooks.Callbacks;
+import net.runelite.rs.api.RSCollisionData;
+import net.runelite.rs.api.RSDeque;
+import net.runelite.rs.api.RSNode;
+import us.runelitepl.mixinprocessor.annotations.Inject;
+import us.runelitepl.mixinprocessor.annotations.Overwrite;
+import us.runelitepl.mixinprocessor.annotations.Prepend;
+import us.runelitepl.mixinprocessor.annotations.Provided;
+import us.runelitepl.mixinprocessor.annotations.Reobfuscate;
+
+import java.util.List;
+
+public class Client
+{
+
+ @Provided
+ public static boolean isHidingEntities;
+
+ @Provided
+ public static boolean hideLocalPlayer2D;
+
+ @Provided
+ public static boolean hideLocalPlayer;
+
+ @Provided
+ public static boolean hidePlayers2D;
+
+ @Provided
+ public static boolean hidePlayers;
+
+ @Provided
+ public static boolean hideAttackers;
+
+ @Provided
+ public static boolean hideProjectiles;
+
+ @Provided
+ public static boolean hideNPCs2D;
+
+ @Provided
+ public static boolean hideNPCs;
+
+ @Provided
+ public static boolean hideFriends;
+
+ @Provided
+ public static boolean hideClanMates;
+
+ @Inject
+ public static Client INSTANCE;
+
+ @Inject
+ public static boolean printMenuActions;
+
+ @Provided
+ public static int oldMenuEntryCount;
+
+ @Reobfuscate
+ @Provided
+ static boolean renderSelf;
+
+ @Provided
+ public static final int[] rl$modelViewportXs = new int[0];
+
+ @Provided
+ public static final int[] rl$modelViewportYs = new int[0];
+
+ @Prepend
+ private void prepend$rl$$init()
+ {
+ INSTANCE = this;
+ printMenuActions = false;
+ }
+
+ @Inject
+ public void toggleRenderSelf()
+ {
+ renderSelf = !renderSelf;
+ }
+
+ @Provided
+ public int getMenuOptionCount()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public String[] getMenuOptions()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public String[] getMenuTargets()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public int[] getMenuIdentifiers()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public int[] getMenuTypes()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public int[] getMenuActionParams0()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public int[] getMenuActionParams1()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public boolean[] getMenuForceLeftClick()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public void setMenuOptionCount(int i)
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public Callbacks getCallbacks()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public RSCollisionData[] getRsCollisionMaps()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public RSDeque getProjectilesDeque()
+ {
+ throw new RuntimeException();
+ }
+
+ @Overwrite
+ public List getProjectiles()
+ {
+ List list = new java.util.ArrayList();
+ RSNode head = getProjectilesDeque().getHead();
+ for (Node node = ((Node) head).getNext();
+ node != head;
+ node = node.getNext())
+ {
+ list.add(node);
+ }
+ return list;
+ }
+
+ @Inject
+ public void setPrintMenuActions(boolean b)
+ {
+ printMenuActions = b;
+ }
+
+ @Overwrite
+ public RSCollisionData[] getCollisionMaps()
+ {
+ return getRsCollisionMaps();
+ }
+
+ @Overwrite
+ public void setMenuEntries(MenuEntry[] arrmenuEntry)
+ {
+ int n2 = 0;
+ String[] arrstring = this.getMenuOptions();
+ String[] arrstring2 = this.getMenuTargets();
+ int[] arrn = this.getMenuIdentifiers();
+ int[] arrn2 = this.getMenuTypes();
+ int[] arrn3 = this.getMenuActionParams0();
+ int[] arrn4 = this.getMenuActionParams1();
+ boolean[] arrbl = getMenuForceLeftClick();
+ net.runelite.api.MenuEntry[] arrmenuEntry2 = arrmenuEntry;
+ int n3 = arrmenuEntry2.length;
+ int n4 = 0;
+ do
+ {
+ String string;
+ if (n4 >= n3)
+ {
+ this.setMenuOptionCount(n2);
+ oldMenuEntryCount = n2;
+ return;
+ }
+ net.runelite.api.MenuEntry menuEntry = arrmenuEntry2[n4];
+ int n5 = menuEntry.getType();
+ arrstring[n2] = menuEntry.getOption();
+ arrstring2[n2] = menuEntry.getTarget();
+ arrn[n2] = menuEntry.getIdentifier();
+ arrn2[n2] = n5;
+ arrn3[n2] = menuEntry.getParam0();
+ arrn4[n2] = menuEntry.getParam1();
+ arrbl[n2] = menuEntry.isForceLeftClick();
+ ++n2;
+ ++n4;
+ }
+ while (true);
+ }
+
+ @Overwrite
+ public static void onMenuOptionsChanged(int n2)
+ {
+ int n3;
+ int n4 = oldMenuEntryCount;
+ oldMenuEntryCount = n3 = INSTANCE.getMenuOptionCount();
+ if (n3 != n4 + 1)
+ {
+ return;
+ }
+ net.runelite.api.events.MenuEntryAdded menuEntryAdded =
+ new net.runelite.api.events.MenuEntryAdded(INSTANCE.getMenuOptions()[n3 - 1],
+ INSTANCE.getMenuTargets()[n3 - 1],
+ INSTANCE.getMenuTypes()[n3 - 1],
+ INSTANCE.getMenuIdentifiers()[n3 - 1],
+ INSTANCE.getMenuActionParams0()[n3 - 1],
+ INSTANCE.getMenuActionParams1()[n3 - 1]);
+ INSTANCE.getCallbacks().post(menuEntryAdded);
+ }
+
+ @Overwrite
+ public static void copy$processClientError(String s, Throwable e, byte b)
+ {
+ System.err.println("[RL+] Error thrown: " + s);
+ e.printStackTrace();
+ }
+
+ @Inject
+ public net.runelite.api.MouseRecorder getMouseRecorder()
+ {
+ return _Statics_.mouseRecorder;
+ }
+
+ @Inject
+ public boolean boundingboxCheck2(net.runelite.api.Model model, int n2, int n3, int n4)
+ {
+ int n5 = INSTANCE.getCameraPitch();
+ int n6 = INSTANCE.getCameraYaw();
+ int n7 = net.runelite.api.Perspective.SINE[n5];
+ int n8 = net.runelite.api.Perspective.COSINE[n5];
+ int n9 = net.runelite.api.Perspective.SINE[n6];
+ int n10 = net.runelite.api.Perspective.COSINE[n6];
+ int n11 = INSTANCE.getCenterX();
+ int n12 = INSTANCE.getCenterY();
+ int n13 = INSTANCE.getViewportMouseX();
+ int n14 = INSTANCE.getViewportMouseY();
+ int n15 = INSTANCE.get3dZoom();
+ int n16 = (n13 - n11) * 50 / n15;
+ int n17 = (n14 - n12) * 50 / n15;
+ int n18 = (n13 - n11) * 10000 / n15;
+ int n19 = (n14 - n12) * 10000 / n15;
+ int n20 = Client.rl$rot1(n17, 50, n8, n7);
+ int n21 = Client.rl$rot2(n17, 50, n8, n7);
+ n17 = n20;
+ n20 = Client.rl$rot1(n19, 10000, n8, n7);
+ int n22 = Client.rl$rot2(n19, 10000, n8, n7);
+ n19 = n20;
+ n20 = Client.rl$rot3(n16, n21, n10, n9);
+ n21 = Client.rl$rot4(n16, n21, n10, n9);
+ n16 = n20;
+ n20 = Client.rl$rot3(n18, n22, n10, n9);
+ n22 = Client.rl$rot4(n18, n22, n10, n9);
+ int n23 = (n20 - n16) / 2;
+ int n24 = (n19 - n17) / 2;
+ int n25 = (n22 - n21) / 2;
+ int n26 = Math.abs(n23);
+ int n27 = Math.abs(n24);
+ int n28 = Math.abs(n25);
+ int n29 = n2 + model.getCenterX();
+ int n30 = n3 + model.getCenterY();
+ int n31 = n4 + model.getCenterZ();
+ int n32 = model.getExtremeX();
+ int n33 = model.getExtremeY();
+ int n34 = model.getExtremeZ();
+ int n35 = (n16 + n20) / 2;
+ int n36 = (n17 + n19) / 2;
+ int n37 = (n22 + n21) / 2;
+ int n38 = n35 - n29;
+ int n39 = n36 - n30;
+ int n40 = n37 - n31;
+ if (Math.abs(n38) > n32 + n26)
+ {
+ return false;
+ }
+ if (Math.abs(n39) > n33 + n27)
+ {
+ return false;
+ }
+ if (Math.abs(n40) > n34 + n28)
+ {
+ return false;
+ }
+ if (Math.abs(n40 * n24 - n39 * n25) > n33 * n28 + n34 * n27)
+ {
+ return false;
+ }
+ if (Math.abs(n38 * n25 - n40 * n23) > n34 * n26 + n32 * n28)
+ {
+ return false;
+ }
+ if (Math.abs(n39 * n23 - n38 * n24) <= n33 * n26 + n32 * n27)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ @Overwrite
+ public void checkClickbox(net.runelite.api.Model model, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, long l2)
+ {
+ int n10;
+ int n11;
+ int n12;
+ int n13;
+ int n14;
+ net.runelite.rs.api.RSModel rSModel = (net.runelite.rs.api.RSModel) model;
+ boolean bl2 = l2 != 0L && (int) (l2 >>> 16 & 1L) != 1;
+ boolean bl3 = INSTANCE.getViewportContainsMouse();
+ if (!bl2)
+ {
+ return;
+ }
+ if (!bl3)
+ {
+ return;
+ }
+ boolean bl4 = this.boundingboxCheck2(rSModel, n7, n8, n9);
+ if (!bl4)
+ {
+ return;
+ }
+ if (rSModel.isClickable())
+ {
+ this.addHashAtMouse(l2);
+ return;
+ }
+ int n15 = rSModel.getVerticesCount();
+ int n16 = rSModel.getTrianglesCount();
+ int[] arrn = rSModel.getVerticesX();
+ int[] arrn2 = rSModel.getVerticesY();
+ int[] arrn3 = rSModel.getVerticesZ();
+ int[] arrn4 = rSModel.getTrianglesX();
+ int[] arrn5 = rSModel.getTrianglesY();
+ int[] arrn6 = rSModel.getTrianglesZ();
+ int[] arrn7 = rSModel.getFaceColors3();
+ int n17 = INSTANCE.get3dZoom();
+ int n18 = INSTANCE.getCenterX();
+ int n19 = INSTANCE.getCenterY();
+ int n20 = 0;
+ int n21 = 0;
+ if (n2 != 0)
+ {
+ n20 = net.runelite.api.Perspective.SINE[n2];
+ n21 = net.runelite.api.Perspective.COSINE[n2];
+ }
+ for (n14 = 0; n14 < n15; ++n14)
+ {
+ n11 = arrn[n14];
+ n13 = arrn2[n14];
+ n12 = arrn3[n14];
+ if (n2 != 0)
+ {
+ n10 = n12 * n20 + n11 * n21 >> 16;
+ n12 = n12 * n21 - n11 * n20 >> 16;
+ n11 = n10;
+ }
+ n10 = (n12 += n9) * n5 + n6 * (n11 += n7) >> 16;
+ n12 = n6 * n12 - n11 * n5 >> 16;
+ n11 = n10;
+ n10 = n4 * (n13 += n8) - n12 * n3 >> 16;
+ if ((n12 = n13 * n3 + n4 * n12 >> 16) >= 50)
+ {
+ Client.rl$modelViewportYs[n14] = n11 * n17 / n12 + n18;
+ Client.rl$modelViewportXs[n14] = n10 * n17 / n12 + n19;
+ continue;
+ }
+ Client.rl$modelViewportYs[n14] = -5000;
+ }
+ n14 = INSTANCE.getViewportMouseX();
+ n11 = INSTANCE.getViewportMouseY();
+ n13 = 0;
+ while (n13 < n16)
+ {
+ if (arrn7[n13] != -2)
+ {
+ int n22;
+ boolean bl5;
+ int n23;
+ n12 = arrn4[n13];
+ n10 = arrn5[n13];
+ int n24 = arrn6[n13];
+ int n25 = rl$modelViewportYs[n12];
+ int n26 = rl$modelViewportYs[n10];
+ int n27 = rl$modelViewportYs[n24];
+ int n28 = rl$modelViewportXs[n12];
+ int n29 = rl$modelViewportXs[n10];
+ int n30 = rl$modelViewportXs[n24];
+ if (n25 != -5000 && n26 != -5000 && n27 != -5000 && (bl5 = (n23 = (n22 = rSModel.isClickable() ? 20
+ : 5) + n11) < n28 && n23 < n29 && n23 < n30 ? false
+ : ((n23 = n11 - n22) > n28 && n23 > n29 && n23 > n30 ? false
+ : ((n23 = n22 + n14) < n25 && n23 < n26 && n23 < n27 ? false
+ : (n23 = n14 - n22) <= n25 || n23 <= n26 || n23 <= n27))))
+ {
+ this.addHashAtMouse(l2);
+ return;
+ }
+ }
+ ++n13;
+ }
+ }
+
+ @Provided
+ public boolean getViewportContainsMouse()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public void addHashAtMouse(long l)
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public int getCameraPitch()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public int getCameraYaw()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public int getCenterX()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public int getCenterY()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public int getViewportMouseX()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public int getViewportMouseY()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public int get3dZoom()
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public static int rl$rot1(int a, int b, int c, int d)
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public static int rl$rot2(int a, int b, int c, int d)
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public static int rl$rot3(int a, int b, int c, int d)
+ {
+ throw new RuntimeException();
+ }
+
+ @Provided
+ public static int rl$rot4(int a, int b, int c, int d)
+ {
+ throw new RuntimeException();
+ }
+
+ @Inject
+ public void invokeMenuAction(int actionParam, int widgetId, int opcode, int targetId, String menuOption,
+ String menuTarget, int mouseX, int mouseY)
+ {
+ _Statics_.menuAction(actionParam, widgetId, opcode, targetId, menuOption,
+ menuTarget, mouseX, mouseY);
+ }
+
+}
\ No newline at end of file
diff --git a/extended-mixins/src/main/java/us/runelitepl/mixins/MouseRecorder.java b/extended-mixins/src/main/java/us/runelitepl/mixins/MouseRecorder.java
new file mode 100644
index 0000000000..cd19d0cd1b
--- /dev/null
+++ b/extended-mixins/src/main/java/us/runelitepl/mixins/MouseRecorder.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixins;
+
+import net.runelite.rs.api.RSMouseRecorder;
+import us.runelitepl.mixinprocessor.annotations.Inject;
+import us.runelitepl.mixinprocessor.annotations.Provided;
+import us.runelitepl.mixinprocessor.annotations.Reobfuscate;
+
+public class MouseRecorder implements RSMouseRecorder
+{
+
+ @Provided
+ @Reobfuscate
+ int[] xs;
+
+ @Provided
+ @Reobfuscate
+ int[] ys;
+
+ @Provided
+ @Reobfuscate
+ long[] millis;
+
+ @Provided
+ @Reobfuscate
+ int index;
+
+ @Inject
+ public int[] getXs()
+ {
+ return xs;
+ }
+
+ @Inject
+ public int[] getYs()
+ {
+ return ys;
+ }
+
+ @Inject
+ public long[] getMillis()
+ {
+ return millis;
+ }
+
+ @Inject
+ public int getIndex()
+ {
+ return index * 42069;
+ }
+
+}
diff --git a/extended-mixins/src/main/java/us/runelitepl/mixins/Player.java b/extended-mixins/src/main/java/us/runelitepl/mixins/Player.java
new file mode 100644
index 0000000000..6039aedf28
--- /dev/null
+++ b/extended-mixins/src/main/java/us/runelitepl/mixins/Player.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixins;
+
+import net.runelite.api.SkullIcon;
+import us.runelitepl.mixinprocessor.annotations.Inject;
+import us.runelitepl.mixinprocessor.annotations.Overwrite;
+import us.runelitepl.mixinprocessor.annotations.Provided;
+import us.runelitepl.mixinprocessor.annotations.Reobfuscate;
+
+public class Player
+{
+
+ @Reobfuscate
+ @Provided
+ int headIconPk;
+
+ @Reobfuscate
+ @Provided
+ int index;
+
+ @Inject
+ public int getHeadIconPk()
+ {
+ return headIconPk * 42069;
+ }
+
+ @Overwrite
+ public SkullIcon getSkullIcon()
+ {
+ switch(getHeadIconPk())
+ {
+ case 0:
+ return SkullIcon.SKULL;
+ case 1:
+ return SkullIcon.SKULL_FIGHT_PIT;
+ case 8:
+ return SkullIcon.DEAD_MAN_FIVE;
+ case 9:
+ return SkullIcon.DEAD_MAN_FOUR;
+ case 10:
+ return SkullIcon.DEAD_MAN_THREE;
+ case 11:
+ return SkullIcon.DEAD_MAN_TWO;
+ case 12:
+ return SkullIcon.DEAD_MAN_ONE;
+ default:
+ return null;
+ }
+ }
+
+ @Inject
+ public int getIndex()
+ {
+ return index * 42069;
+ }
+
+}
diff --git a/extended-mixins/src/main/java/us/runelitepl/mixins/Projectile.java b/extended-mixins/src/main/java/us/runelitepl/mixins/Projectile.java
new file mode 100644
index 0000000000..5de2816404
--- /dev/null
+++ b/extended-mixins/src/main/java/us/runelitepl/mixins/Projectile.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixins;
+
+import net.runelite.api.Actor;
+import net.runelite.api.coords.LocalPoint;
+import net.runelite.api.events.ProjectileMoved;
+import net.runelite.rs.api.RSClient;
+import us.runelitepl.mixinprocessor.annotations.Inject;
+import us.runelitepl.mixinprocessor.annotations.Overwrite;
+import us.runelitepl.mixinprocessor.annotations.Provided;
+import us.runelitepl.mixinprocessor.annotations.Reobfuscate;
+
+public class Projectile
+{
+
+ @Reobfuscate
+ @Provided
+ int targetIndex;
+
+ @Inject
+ public int getTargetId()
+ {
+ return targetIndex * 42069;
+ }
+
+ @Overwrite
+ public void projectileMoved(int x, int y, int z, int n3)
+ {
+ LocalPoint position = new LocalPoint(x, y);
+ ProjectileMoved event = new ProjectileMoved();
+ event.setProjectile((net.runelite.api.Projectile) this);
+ event.setPosition(position);
+ event.setZ(z);
+ ((RSClient) Client.INSTANCE).getCallbacks().post(event);
+ }
+
+ @Inject
+ public Actor getInteracting()
+ {
+ final int _targ = this.getTargetId();
+ if (_targ == 0)
+ {
+ return null;
+ }
+ if (_targ > 0)
+ {
+ return (Actor) ((RSClient) Client.INSTANCE).getCachedNPCs()[_targ - 1];
+ }
+ final int n = -_targ - 1;
+ if (n == ((RSClient) Client.INSTANCE).getLocalInteractingIndex())
+ {
+ return (Actor) ((RSClient) Client.INSTANCE).getLocalPlayer();
+ }
+ return (Actor) ((RSClient) Client.INSTANCE).getCachedPlayers()[n];
+ }
+
+}
diff --git a/extended-mixins/src/main/java/us/runelitepl/mixins/Scene.java b/extended-mixins/src/main/java/us/runelitepl/mixins/Scene.java
new file mode 100644
index 0000000000..646050b350
--- /dev/null
+++ b/extended-mixins/src/main/java/us/runelitepl/mixins/Scene.java
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixins;
+
+import net.runelite.rs.api.RSClient;
+import net.runelite.rs.api.RSNPC;
+import net.runelite.rs.api.RSPlayer;
+import net.runelite.rs.api.RSProjectile;
+import us.runelitepl.mixinprocessor.annotations.Overwrite;
+
+public class Scene
+{
+
+ @Overwrite
+ public static boolean shouldDraw(Object renderable, boolean drawingUI)
+ {
+
+ if (!Client.isHidingEntities)
+ {
+ return true;
+ }
+
+ if(renderable instanceof RSPlayer)
+ {
+ RSPlayer p = (RSPlayer) renderable;
+ if(Client.hideClanMates && p.isClanMember())
+ {
+ return false;
+ }
+ }
+
+ if (renderable instanceof RSPlayer)
+ {
+ boolean local = drawingUI ? Client.hideLocalPlayer2D : Client.hideLocalPlayer;
+ boolean other = drawingUI ? Client.hidePlayers2D : Client.hidePlayers;
+ boolean isLocalPlayer = renderable == ((RSClient)Client.INSTANCE).getLocalPlayer();
+
+ if (isLocalPlayer ? local : other)
+ {
+ RSPlayer player = (RSPlayer) renderable;
+
+ if (!Client.hideAttackers)
+ {
+ if (player.getInteracting() == ((RSClient)Client.INSTANCE).getLocalPlayer())
+ {
+ return true;
+ }
+ }
+
+ if (player.getName() == null)
+ {
+ // player.isFriend() and player.isClanMember() npe when the player has a null name
+ return false;
+ }
+
+ return (!Client.hideFriends && player.isFriend()) || (!isLocalPlayer && !Client.hideClanMates && player.isClanMember());
+ }
+ }
+ else if (renderable instanceof RSNPC)
+ {
+ RSNPC npc = (RSNPC) renderable;
+
+ if (!Client.hideAttackers)
+ {
+ if (npc.getInteracting() == ((RSClient)Client.INSTANCE).getLocalPlayer())
+ {
+ return true;
+ }
+ }
+
+ return drawingUI ? !Client.hideNPCs2D : !Client.hideNPCs;
+ }
+ else if (renderable instanceof RSProjectile)
+ {
+ return !Client.hideProjectiles;
+ }
+
+ return true;
+ }
+
+}
diff --git a/extended-mixins/src/main/java/us/runelitepl/mixins/_Statics_.java b/extended-mixins/src/main/java/us/runelitepl/mixins/_Statics_.java
new file mode 100644
index 0000000000..6bb32f9feb
--- /dev/null
+++ b/extended-mixins/src/main/java/us/runelitepl/mixins/_Statics_.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package us.runelitepl.mixins;
+
+import us.runelitepl.mixinprocessor.annotations.Prepend;
+import us.runelitepl.mixinprocessor.annotations.Provided;
+import us.runelitepl.mixinprocessor.annotations.Reobfuscate;
+
+public class _Statics_
+{
+
+ @Provided
+ @Reobfuscate
+ static MouseRecorder mouseRecorder;
+
+ @Prepend
+ @Reobfuscate
+ static final void prepend$menuAction(int actionParam, int widgetId, int opcode, int targetId, String menuOption,
+ String menuTarget, int mouseX, int mouseY)
+ {
+ if(Client.printMenuActions)
+ {
+ int printOpcode = opcode;
+ if(opcode >= 2000)
+ {
+ printOpcode -= 2000;
+ }
+ System.out.format("menuAction triggered: '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s'\n", actionParam, widgetId,
+ printOpcode, targetId, menuOption, menuTarget, mouseX, mouseY);
+ }
+ }
+
+ @Provided
+ @Reobfuscate
+ static final void menuAction(int actionParam, int widgetId, int opcode, int targetId, String menuOption,
+ String menuTarget, int mouseX, int mouseY)
+ {
+ throw new RuntimeException();
+ }
+
+}
diff --git a/extended-mixins/src/main/resources/extended-mixins-license.txt b/extended-mixins/src/main/resources/extended-mixins-license.txt
new file mode 100644
index 0000000000..bd0eb98d86
--- /dev/null
+++ b/extended-mixins/src/main/resources/extended-mixins-license.txt
@@ -0,0 +1,22 @@
+ Copyright (c) 2019, ThatGamerBlue
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index d9c59cd7f2..21c699ebf6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -115,6 +115,8 @@
cache
cache-client
cache-updater
+ extended-mixin-processor
+ extended-mixins
runelite-api
runelite-client
runelite-mixins
diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java
index cc1edb8419..1fc9f42af0 100644
--- a/runelite-api/src/main/java/net/runelite/api/Client.java
+++ b/runelite-api/src/main/java/net/runelite/api/Client.java
@@ -1615,5 +1615,9 @@ public interface Client extends GameEngine
void toggleRenderSelf();
void invokeMenuAction(int var1, int var2, int var3, int var4, String var5, String var6, int var7, int var8);
-
+
+ MouseRecorder getMouseRecorder();
+
+ void setPrintMenuActions(boolean b);
+
}
diff --git a/runelite-api/src/main/java/net/runelite/api/MouseRecorder.java b/runelite-api/src/main/java/net/runelite/api/MouseRecorder.java
new file mode 100644
index 0000000000..663a4d85c9
--- /dev/null
+++ b/runelite-api/src/main/java/net/runelite/api/MouseRecorder.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package net.runelite.api;
+
+public interface MouseRecorder
+{
+
+ int[] getXs();
+
+ int[] getYs();
+
+ long[] getMillis();
+
+ int getIndex();
+
+}
+
diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml
index edd6e015c2..ec2d6fbbbf 100644
--- a/runelite-client/pom.xml
+++ b/runelite-client/pom.xml
@@ -221,6 +221,11 @@
1.0
provided
+
+ net.runelite
+ extended-mixins
+ ${project.version}
+
junit
@@ -272,6 +277,11 @@
naturalmouse
[1.0.0,)
+
+ org.ow2.asm
+ asm-all
+ 6.0_BETA
+
@@ -315,7 +325,6 @@
shade
- true
true
shaded
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPanel.java
index 6798d4056b..d9a90b79fe 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPanel.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPanel.java
@@ -118,6 +118,19 @@ class DevToolsPanel extends PluginPanel
varInspector.open();
}
});
+
+ container.add(plugin.getLogMenuActions());
+ plugin.getLogMenuActions().addActionListener((ev) ->
+ {
+ if(plugin.getLogMenuActions().isActive())
+ {
+ client.setPrintMenuActions(false);
+ }
+ else
+ {
+ client.setPrintMenuActions(true);
+ }
+ });
return container;
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java
index 3998651fe5..3b540d414d 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java
@@ -126,6 +126,7 @@ public class DevToolsPlugin extends Plugin
private DevToolsButton detachedCamera;
private DevToolsButton widgetInspector;
private DevToolsButton varInspector;
+ private DevToolsButton logMenuActions;
private NavigationButton navButton;
@Provides
@@ -173,6 +174,8 @@ public class DevToolsPlugin extends Plugin
overlayManager.add(cameraOverlay);
overlayManager.add(worldMapLocationOverlay);
overlayManager.add(mapRegionOverlay);
+
+ logMenuActions = new DevToolsButton("Menu Actions");
final DevToolsPanel panel = injector.getInstance(DevToolsPanel.class);
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java b/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java
index db543f089e..018dbf8cc6 100644
--- a/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java
+++ b/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java
@@ -32,101 +32,82 @@ import com.google.common.reflect.TypeToken;
import com.google.gson.Gson;
import io.sigpipe.jbsdiff.InvalidHeaderException;
import io.sigpipe.jbsdiff.Patch;
+
import java.applet.Applet;
import java.io.BufferedInputStream;
-import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
+import java.lang.reflect.InvocationTargetException;
import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
+import java.nio.file.Files;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.jar.Attributes;
import java.util.jar.JarEntry;
import java.util.jar.JarInputStream;
import java.util.jar.JarOutputStream;
import java.util.jar.Manifest;
-import java.util.logging.Logger;
-import javassist.ClassPool;
-import javassist.NotFoundException;
import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Singleton;
+
import lombok.extern.slf4j.Slf4j;
-import net.runelite.client.RuneLite;
+
import static net.runelite.client.rs.ClientUpdateCheckMode.AUTO;
import static net.runelite.client.rs.ClientUpdateCheckMode.NONE;
import static net.runelite.client.rs.ClientUpdateCheckMode.VANILLA;
-import net.runelite.client.rs.bytecode.ByteCodePatcher;
-import net.runelite.client.rs.bytecode.ByteCodeUtils;
-import net.runelite.client.rs.bytecode.Hooks;
+
+import net.runelite.client.rs.mixins.MixinRunner;
import net.runelite.http.api.RuneLiteAPI;
import okhttp3.Request;
import okhttp3.Response;
import org.apache.commons.compress.compressors.CompressorException;
-import org.xeustechnologies.jcl.JarClassLoader;
@Slf4j
@Singleton
public class ClientLoader
{
- public static File hooksFile = new File(RuneLite.RUNELITE_DIR + "/hooks-" + RuneLiteAPI.getVersion() + "-.json");
private final ClientConfigLoader clientConfigLoader;
private ClientUpdateCheckMode updateCheckMode;
- private static String[] preotectedStuffs;
- private static int stepCount;
-
@Inject
private ClientLoader(
- @Named("updateCheckMode") final ClientUpdateCheckMode updateCheckMode,
- final ClientConfigLoader clientConfigLoader)
+ @Named("updateCheckMode") final ClientUpdateCheckMode updateCheckMode,
+ final ClientConfigLoader clientConfigLoader)
{
this.updateCheckMode = updateCheckMode;
this.clientConfigLoader = clientConfigLoader;
}
-
+
public Applet load()
{
if (updateCheckMode == NONE)
{
return null;
}
-
+
try
{
- File injectedClientFile = ByteCodeUtils.injectedClientFile;
- File hijackedClientFile = ByteCodeUtils.hijackedClientFile;
Manifest manifest = new Manifest();
manifest.getMainAttributes().put(Attributes.Name.MANIFEST_VERSION, "1.0");
- JarOutputStream target = new JarOutputStream(new FileOutputStream(injectedClientFile), manifest);
RSConfig config = clientConfigLoader.fetch();
-
+
Map zipFile = new HashMap<>();
{
String codebase = config.getCodeBase();
String initialJar = config.getInitialJar();
URL url = new URL(codebase + initialJar);
Request request = new Request.Builder()
- .url(url)
- .build();
-
+ .url(url)
+ .build();
+
try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
{
JarInputStream jis;
-
+
jis = new JarInputStream(response.body().byteStream());
-
byte[] tmp = new byte[4096];
ByteArrayOutputStream buffer = new ByteArrayOutputStream(756 * 1024);
for (; ; )
@@ -136,7 +117,7 @@ public class ClientLoader
{
break;
}
-
+
buffer.reset();
for (; ; )
{
@@ -147,12 +128,12 @@ public class ClientLoader
}
buffer.write(tmp, 0, n);
}
-
+
zipFile.put(metadata.getName(), buffer.toByteArray());
}
}
}
-
+
if (updateCheckMode == AUTO)
{
Map hashes;
@@ -162,41 +143,33 @@ public class ClientLoader
{
}.getType());
}
-
+
for (Map.Entry file : hashes.entrySet())
{
byte[] bytes = zipFile.get(file.getKey());
-
+
String ourHash = null;
if (bytes != null)
{
ourHash = Hashing.sha512().hashBytes(bytes).toString();
}
-
+
if (!file.getValue().equals(ourHash))
{
- if (hijackedClientFile.exists())
- {
- Logger.getAnonymousLogger().warning("[RuneLitePlus] Hash checking / Client patching skipped due to hijacked client.");
- updateCheckMode = VANILLA;
- break;
- }
- else
- {
- log.info("{} had a hash mismatch; falling back to vanilla. {} != {}", file.getKey(), file.getValue(), ourHash);
- log.info("Client is outdated!");
- updateCheckMode = VANILLA;
- break;
- }
+ log.info("{} had a hash mismatch; falling back to vanilla. {} != {}", file.getKey(),
+ file.getValue(), ourHash);
+ log.info("Client is outdated!");
+ updateCheckMode = VANILLA;
+ break;
}
}
}
-
+
if (updateCheckMode == AUTO)
{
ByteArrayOutputStream patchOs = new ByteArrayOutputStream(756 * 1024);
int patchCount = 0;
-
+
for (Map.Entry file : zipFile.entrySet())
{
byte[] bytes;
@@ -206,292 +179,110 @@ public class ClientLoader
{
continue;
}
-
+
bytes = ByteStreams.toByteArray(is);
}
-
+
patchOs.reset();
Patch.patch(file.getValue(), bytes, patchOs);
file.setValue(patchOs.toByteArray());
-
+
++patchCount;
-
- if (!file.getKey().startsWith("META"))
- {
- add(file.getValue(), file.getKey(), target);
- }
}
- target.close();
-
+
log.info("Patched {} classes", patchCount);
}
- if (hooksFile.exists())
+
+ log.info("Patching for RuneLitePlus");
+
+ if (updateCheckMode == AUTO)
{
- ByteCodePatcher.classPool = new ClassPool(true);
- ByteCodePatcher.classPool.appendClassPath(RuneLite.RUNELITE_DIR + "/injectedClient-" + RuneLiteAPI.getVersion() + "-.jar");
- Gson gson = new Gson();
- Hooks hooks = gson.fromJson(new BufferedReader(new FileReader(hooksFile)), Hooks.class);
-
- if (hooks.clientInstance.equals("") ||
- hooks.clientClass.equals("") ||
- hooks.projectileClass.equals("") ||
- hooks.actorClass.equals("") ||
- hooks.playerClass.equals(""))
+
+ HashMap patches = new HashMap<>();
+
+ for (Map.Entry file : zipFile.entrySet())
{
- log.info("[RuneLitePlus] Bad hooks, re-scraping.");
- stepCount = getStepCount(ByteCodeUtils.injectedClientFile.getPath());
- ByteCodePatcher.clientInstance = initHookScrape(ByteCodeUtils.injectedClientFile.getPath());
- ByteCodePatcher.findHooks(injectedClientFile.getPath());
- }
- else
- {
- ByteCodePatcher.clientInstance = hooks.clientInstance;
- ByteCodePatcher.applyHooks(ByteCodeUtils.injectedClientFile, hooks);
- log.info("[RuneLitePlus] Loaded hooks");
- }
-
- }
- else
- {
- log.info("[RuneLitePlus] Hooks file not found, scraping hooks.");
- stepCount = getStepCount(ByteCodeUtils.injectedClientFile.getPath());
- ByteCodePatcher.clientInstance = initHookScrape(ByteCodeUtils.injectedClientFile.getPath());
- ByteCodePatcher.hooks.protectedStuff = preotectedStuffs;
- ByteCodePatcher.findHooks(injectedClientFile.getPath());
- }
-
- Map zipFile2 = new HashMap<>();
- JarInputStream jis = new JarInputStream(new FileInputStream(hijackedClientFile));
-
- byte[] tmp = new byte[4096];
- ByteArrayOutputStream buffer = new ByteArrayOutputStream(756 * 1024);
- for (; ; )
- {
- JarEntry metadata = jis.getNextJarEntry();
- if (metadata == null)
- {
- break;
- }
-
- buffer.reset();
- for (; ; )
- {
- int n = jis.read(tmp);
- if (n <= -1)
+ byte[] patchClass;
+ try (InputStream is = ClientLoader.class.getResourceAsStream("/extended-mixins/" + file.getKey()))
{
- break;
+ if (is == null)
+ {
+ continue;
+ }
+
+ patchClass = ByteStreams.toByteArray(is);
}
- buffer.write(tmp, 0, n);
+
+ patches.put(file.getKey(), patchClass);
+
}
-
- zipFile2.put(metadata.getName(), buffer.toByteArray());
+
+ new MixinRunner(zipFile, patches).run();
+
}
-
+
+ for (Map.Entry entry : zipFile.entrySet())
+ {
+ if (entry.getKey().contains("class"))
+ {
+ Files.write(new File("H:\\rsclasses\\" + entry.getKey()).toPath(), entry.getValue());
+ }
+ }
+
String initialClass = config.getInitialClass();
-
+
ClassLoader rsClassLoader = new ClassLoader(ClientLoader.class.getClassLoader())
{
@Override
protected Class> findClass(String name) throws ClassNotFoundException
{
String path = name.replace('.', '/').concat(".class");
- byte[] data = zipFile2.get(path);
+ byte[] data = zipFile.get(path);
if (data == null)
{
throw new ClassNotFoundException(name);
}
-
+
return defineClass(name, data, 0, data.length);
}
};
-
+
Class> clientClass = rsClassLoader.loadClass(initialClass);
-
+
Applet rs = (Applet) clientClass.newInstance();
rs.setStub(new RSAppletStub(config));
return rs;
}
- catch (IOException | ClassNotFoundException | InstantiationException | IllegalAccessException
- | CompressorException | InvalidHeaderException | SecurityException e)
+ catch (IOException | ClassNotFoundException | InstantiationException | IllegalAccessException | CompressorException | InvalidHeaderException | SecurityException | NoSuchMethodException | InvocationTargetException e)
{
if (e instanceof ClassNotFoundException)
{
log.error("Unable to load client - class not found. This means you"
- + " are not running RuneLite with Maven as the client patch"
- + " is not in your classpath.");
+ + " are not running RuneLite with Maven as the client patch"
+ + " is not in your classpath.");
}
-
+
log.error("Error loading RS!", e);
return null;
}
- catch (NotFoundException e)
- {
- e.printStackTrace();
- }
- return null;
}
-
+
private void add(byte[] bytes, String entryName, JarOutputStream target) throws IOException
{
- JarEntry entry = new JarEntry(entryName);
- target.putNextEntry(entry);
- target.write(bytes);
- target.closeEntry();
- }
-
- private static int getStepCount(String jarFile)
- {
- int stepCount = 0;
- JarClassLoader jcl = new JarClassLoader();
+ BufferedInputStream in = null;
try
{
- ClassPool classPool = new ClassPool(true);
- classPool.appendClassPath(RuneLite.RUNELITE_DIR + "/injectedClient-" + RuneLiteAPI.getVersion() + "-.jar");
+ JarEntry entry = new JarEntry(entryName);
+ target.putNextEntry(entry);
+ target.write(bytes);
+ target.closeEntry();
}
- catch (NotFoundException e)
+ finally
{
- e.printStackTrace();
- }
-
- try
- {
- jcl.add(new FileInputStream(jarFile));
- try (JarInputStream in = new JarInputStream(new BufferedInputStream(new FileInputStream(jarFile))))
+ if (in != null)
{
- JarEntry entry;
- while ((entry = in.getNextJarEntry()) != null)
- {
- if (entry.getName().endsWith(".class"))
- {
- stepCount++;
- }
- }
+ in.close();
}
}
- catch (Exception e)
- {
- e.printStackTrace();
- }
- return stepCount;
- }
-
- private static String initHookScrape(String jarFile)
- {
- int currentStep = 0;
- RuneLite.splashScreen.setMessage("Analyzing injected client");
- List protectedStuff = new ArrayList<>();
- String clientInstance = "";
- JarClassLoader jcl = new JarClassLoader();
- try
- {
- ClassPool classPool = new ClassPool(true);
- classPool.appendClassPath(RuneLite.RUNELITE_DIR + "/injectedClient-" + RuneLiteAPI.getVersion() + "-.jar");
- }
- catch (NotFoundException e)
- {
- e.printStackTrace();
- }
-
- try
- {
- jcl.add(new FileInputStream(jarFile));
- try (JarInputStream in = new JarInputStream(new BufferedInputStream(new FileInputStream(jarFile))))
- {
- JarEntry entry;
- while ((entry = in.getNextJarEntry()) != null)
- {
- if (entry.getName().endsWith(".class"))
- {
- File temp = new File(jarFile);
- ClassLoader cl = ClassLoader.getSystemClassLoader();
- try
- {
- URLClassLoader child = new URLClassLoader(
- new URL[]{temp.toURI().toURL()},
- cl
- );
- try
- {
- Class classToLoad = Class.forName(entry.getName().replace(".class", ""), false, child);
- RuneLite.splashScreen.setSubMessage(entry.getName());
- currentStep++;
- RuneLite.splashScreen.setProgress(currentStep, stepCount);
- JarClassLoader jcl2 = new JarClassLoader();
- try
- {
- jcl2.add(new FileInputStream(ByteCodeUtils.injectedClientFile));
- Field[] fields = classToLoad.getDeclaredFields();
- Method[] methods = classToLoad.getDeclaredMethods();
- for (Field f : fields)
- {
- try
- {
- if (f.getName().contains("$"))
- {
- log.info(classToLoad.getName() + "." + f.getName());
- protectedStuff.add(classToLoad.getName() + "." + f.getName());
- }
- if (f.getType().getName().equals("client"))
- {
- ByteCodePatcher.hooks.clientInstance = classToLoad.getName() + "." + f.getName();
- clientInstance = classToLoad.getName() + "." + f.getName();
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- for (Method m : methods)
- {
- RuneLite.splashScreen.setSubMessage("Checked " + m.getName());
- if (m.getName().contains("$"))
- {
- protectedStuff.add(classToLoad.getName() + "." + m.getName());
- }
- }
- RuneLite.splashScreen.setProgress(currentStep, stepCount);
- }
- catch (FileNotFoundException e)
- {
- e.printStackTrace();
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- RuneLite.splashScreen.setProgress(2, 5);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- log.info("Class not found: " + entry.getName());
- }
- }
- }
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
-
- int i = 0;
- for (String ignored : protectedStuff)
- {
- i++;
- }
-
- preotectedStuffs = new String[i];
- i = 0;
-
- for (String o : protectedStuff)
- {
- preotectedStuffs[i] = o;
- i++;
- }
-
- return clientInstance;
}
}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/ByteCodePatcher.java b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/ByteCodePatcher.java
deleted file mode 100644
index d08b38dde0..0000000000
--- a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/ByteCodePatcher.java
+++ /dev/null
@@ -1,298 +0,0 @@
-package net.runelite.client.rs.bytecode;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.Writer;
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.jar.JarEntry;
-import java.util.jar.JarInputStream;
-import javassist.ClassPool;
-import javassist.CtClass;
-import javassist.NotFoundException;
-import lombok.extern.slf4j.Slf4j;
-import net.runelite.client.RuneLite;
-import net.runelite.client.rs.ClientLoader;
-import net.runelite.client.rs.bytecode.transformers.ActorTransform;
-import net.runelite.client.rs.bytecode.transformers.ClientTransform;
-import net.runelite.client.rs.bytecode.transformers.ErrorTransform;
-import net.runelite.client.rs.bytecode.transformers.PlayerTransform;
-import net.runelite.client.rs.bytecode.transformers.ProjectileTransform;
-import net.runelite.http.api.RuneLiteAPI;
-import org.xeustechnologies.jcl.JarClassLoader;
-
-@Slf4j
-public class ByteCodePatcher
-{
-
- public static List modifiedClasses = new ArrayList<>();
- public static Hooks hooks = new Hooks();
- public static String clientInstance;
- private static JarClassLoader jcl = new JarClassLoader();
- public static ClassPool classPool = null;
- private static ClassLoader cl = ClassLoader.getSystemClassLoader();
- private static int classCount = 0;
-
- public static void applyHooks(File jf, Hooks hooks)
- {
- RuneLite.splashScreen.setProgress(0, 5);
- RuneLite.splashScreen.setMessage("Applying cached bytecode patches...");
- try
- {
- URLClassLoader child = new URLClassLoader(
- new URL[]{jf.toURI().toURL()},
- cl
- );
- try
- {
- RuneLite.splashScreen.setSubMessage("Transforming Client");
- Class clientClass = Class.forName(hooks.clientClass, false, child);
- transformClient(clientClass);
- RuneLite.splashScreen.setProgress(1, 5);
-
- RuneLite.splashScreen.setSubMessage("Transforming Actor");
- Class actorClass = Class.forName(hooks.actorClass, false, child);
- transformActor(actorClass);
- RuneLite.splashScreen.setProgress(2, 5);
-
- RuneLite.splashScreen.setSubMessage("Transforming Projectile");
- Class projectileClass = Class.forName(hooks.projectileClass, false, child);
- transformProjectile(projectileClass);
- RuneLite.splashScreen.setProgress(3, 5);
-
- RuneLite.splashScreen.setSubMessage("Transforming Player");
- Class playerClass = Class.forName(hooks.playerClass, false, child);
- transformPlayer(playerClass);
- RuneLite.splashScreen.setProgress(4, 5);
-
- // Odds and ends
- RuneLite.splashScreen.setSubMessage("Transforming Error method");
- transformStackTrace();
- RuneLite.splashScreen.setProgress(5, 5);
-
- RuneLite.splashScreen.setSubMessage("");
- ByteCodeUtils.updateHijackedJar();
- }
- catch (Exception e)
- {
- // e.printStackTrace();
- }
-
- }
- catch (Exception e)
- {
- // e.printStackTrace();
- }
- }
-
- public static void findHooks(String jf)
- {
- RuneLite.splashScreen.setMessage("Hijacking Classes");
- try
- {
- classPool = new ClassPool(true);
- classPool.appendClassPath(RuneLite.RUNELITE_DIR + "/injectedClient-" + RuneLiteAPI.getVersion() + "-.jar");
- }
- catch (NotFoundException e)
- {
- e.printStackTrace();
- }
-
- try
- {
- jcl.add(new FileInputStream(jf));
- try (JarInputStream in = new JarInputStream(new BufferedInputStream(new FileInputStream(jf))))
- {
- JarEntry entry;
- while ((entry = in.getNextJarEntry()) != null)
- {
- if (entry.getName().endsWith(".class"))
- {
- classCount++;
- }
- }
- }
- int i = 0;
- jcl.add(new FileInputStream(jf));
- try (JarInputStream in = new JarInputStream(new BufferedInputStream(new FileInputStream(jf))))
- {
- JarEntry entry;
- while ((entry = in.getNextJarEntry()) != null)
- {
- if (entry.getName().endsWith(".class"))
- {
- RuneLite.splashScreen.setProgress(i, classCount);
- RuneLite.splashScreen.setSubMessage("Checking " + entry.getName());
- checkClasses(new File(jf), entry);
- i++;
- }
- }
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- Gson gson = new GsonBuilder().setPrettyPrinting().create();
- try
- {
- Writer writer = new FileWriter(ClientLoader.hooksFile);
- gson.toJson(hooks, writer);
- writer.flush();
- writer.close();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- ByteCodeUtils.updateHijackedJar();
- }
-
- private static void checkClasses(File jf, JarEntry entry)
- {
- try
- {
- URLClassLoader child = new URLClassLoader(
- new URL[]{jf.toURI().toURL()},
- cl
- );
- try
- {
- Class classToLoad = Class.forName(entry.getName().replace(".class", ""), false, child);
- checkClient(classToLoad);
- checkActor(classToLoad);
- checkProjectile(classToLoad);
- checkPlayer(classToLoad);
- }
- catch (Exception e)
- {
- // e.printStackTrace();
- }
-
- }
- catch (Exception e)
- {
- // e.printStackTrace();
- // System.out.println("Class not found: "+entry.getName());
- }
- }
-
- private static void checkClient(Class current)
- {
- try
- {
- Method method = current.getDeclaredMethod("getProjectiles");
- if (method != null)
- {
- hooks.clientClass = current.getName();
- log.info("[RuneLitePlus] Transforming Client at class: " + current.getName());
- ClientTransform ct = new ClientTransform();
- ct.modify(current);
- }
- }
- catch (NoSuchMethodException | NoClassDefFoundError e)
- {
- // e.printStackTrace();
- }
- }
-
- private static void transformClient(Class client)
- {
- log.info("[RuneLitePlus] Transforming Client at class: " + client.getName());
- ClientTransform ct = new ClientTransform();
- ct.modify(client);
- }
-
- private static void checkActor(Class current)
- {
- try
- {
- Method method = current.getDeclaredMethod("setCombatInfo", new Class[]{int.class, int.class, int.class, int.class, int.class, int.class});
- if (method != null)
- {
- hooks.actorClass = current.getName();
- log.info("[RuneLitePlus] Transforming Actor at class: " + current.getName());
- ActorTransform at = new ActorTransform();
- at.modify(current);
- }
- }
- catch (NoSuchMethodException | NoClassDefFoundError e)
- {
- // e.printStackTrace();
- }
- }
-
- private static void transformActor(Class actor)
- {
- log.info("[RuneLitePlus] Transforming Actor at class: " + actor.getName());
- ActorTransform at = new ActorTransform();
- at.modify(actor);
- }
-
- private static void checkProjectile(Class current)
- {
- try
- {
- Method method = current.getDeclaredMethod("projectileMoved", new Class[]{int.class, int.class, int.class, int.class});
- if (method != null)
- {
- hooks.projectileClass = current.getName();
- log.info("[RuneLitePlus] Transforming Projectile at class: " + current.getName());
- ProjectileTransform pt = new ProjectileTransform();
- pt.modify(current);
- }
- }
- catch (NoSuchMethodException | NoClassDefFoundError e)
- {
- // e.printStackTrace();
- }
- }
-
- private static void transformProjectile(Class projectile)
- {
- log.info("[RuneLitePlus] Transforming Projectile at class: " + projectile.getName());
- ProjectileTransform pt = new ProjectileTransform();
- pt.modify(projectile);
- }
-
- private static void checkPlayer(Class current)
- {
- try
- {
- Method method = current.getDeclaredMethod("getSkullIcon");
- if (method != null)
- {
- hooks.playerClass = current.getName();
- log.info("[RuneLitePlus] Transforming Player at class: " + current.getName());
- PlayerTransform pt = new PlayerTransform();
- pt.modify(current);
- }
- }
- catch (NoSuchMethodException | NoClassDefFoundError e)
- {
- // e.printStackTrace();
- }
- }
-
- private static void transformPlayer(Class player)
- {
- log.info("[RuneLitePlus] Transforming Player at class: " + player.getName());
- PlayerTransform pt = new PlayerTransform();
- pt.modify(player);
- }
-
- private static void transformStackTrace()
- {
- log.info("[RuneLitePlus] Transforming Stack Trace");
- ErrorTransform et = new ErrorTransform();
- et.modify(null);
- }
-}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/ByteCodeUtils.java b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/ByteCodeUtils.java
deleted file mode 100644
index a1ba3d053a..0000000000
--- a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/ByteCodeUtils.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package net.runelite.client.rs.bytecode;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.jar.Attributes;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.jar.JarOutputStream;
-import java.util.jar.Manifest;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import javassist.CtClass;
-import net.runelite.client.RuneLite;
-import net.runelite.http.api.RuneLiteAPI;
-
-public class ByteCodeUtils
-{
- //TODO: Write method to delete old revision injected clients.
- public static File injectedClientFile = new File(RuneLite.RUNELITE_DIR + "/injectedClient-" + RuneLiteAPI.getVersion() + "-.jar");
- public static File hijackedClientFile = new File(RuneLite.RUNELITE_DIR + "/hijackedClient-" + RuneLiteAPI.getVersion() + "-.jar");
-
- public static JarOutputStream target;
-
- static void updateHijackedJar()
- {
- Manifest manifest = new Manifest();
- manifest.getMainAttributes().put(Attributes.Name.MANIFEST_VERSION, "1.0");
- try
- {
- target = new JarOutputStream(new FileOutputStream(hijackedClientFile), manifest);
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- try
- {
- JarFile original = new JarFile(injectedClientFile);
- Enumeration entries = original.entries();
- while (entries.hasMoreElements())
- {
- JarEntry entry = entries.nextElement();
- boolean skip = false;
- for (CtClass ct : ByteCodePatcher.modifiedClasses)
- {
- if ((ct.getName() + ".class").equals(entry.getName()))
- {
- skip = true;
- }
- }
- if (!skip)
- {
- add(entry);
- }
- }
-
- for (CtClass ct : ByteCodePatcher.modifiedClasses)
- {
- add(ct);
- }
-
- target.close();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
-
- private static void add(CtClass ct)
- {
- try
- {
- JarEntry newEntry = new JarEntry(ct.getName() + ".class");
- target.putNextEntry(newEntry);
- target.write(ct.toBytecode());
- target.closeEntry();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
-
- private static void add(JarEntry entry) throws IOException
- {
- try
- {
- if (!entry.getName().startsWith("META") && !entry.getName().equals(""))
- {
- target.putNextEntry(entry);
- target.write(getBytesFromZipFile(entry.getName()));
- target.closeEntry();
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
-
- private static byte[] getBytesFromZipFile(String entryName)
- {
- ZipFile zipFile;
- try
- {
- zipFile = new ZipFile(injectedClientFile);
- Enumeration extends ZipEntry> entries = zipFile.entries();
-
- while (entries.hasMoreElements())
- {
- ZipEntry entry = entries.nextElement();
- if (entry.getName().equals(entryName))
- {
- InputStream stream = zipFile.getInputStream(entry);
-
- ByteArrayOutputStream buffer = new ByteArrayOutputStream();
- int nRead;
- byte[] data = new byte[1024];
- while ((nRead = stream.read(data, 0, data.length)) != -1)
- {
- buffer.write(data, 0, nRead);
- }
- buffer.flush();
- return buffer.toByteArray();
- }
- }
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- return null;
- }
-}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/Hooks.java b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/Hooks.java
deleted file mode 100644
index 8f8aa9b097..0000000000
--- a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/Hooks.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package net.runelite.client.rs.bytecode;
-
-public class Hooks {
-
- public String clientInstance = "";
- public String actorClass = "";
- public String projectileClass = "";
- public String playerClass = "";
- public String[] protectedStuff;
- public String clientClass = "";
-
- public Hooks() {
- }
-}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ActorTransform.java b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ActorTransform.java
deleted file mode 100644
index 9beefeab3c..0000000000
--- a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ActorTransform.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package net.runelite.client.rs.bytecode.transformers;
-
-import javassist.CannotCompileException;
-import javassist.CtClass;
-import javassist.CtMethod;
-import javassist.CtNewMethod;
-import javassist.NotFoundException;
-import lombok.extern.slf4j.Slf4j;
-import net.runelite.client.rs.bytecode.ByteCodePatcher;
-
-@Slf4j
-public class ActorTransform implements Transform
-{
- private CtClass ct;
-
- @Override
- public void modify(Class actor)
- {
- try
- {
- ct = ByteCodePatcher.classPool.get(actor.getName());
-
- transformGetAnimation();
- transformAnimationChanged();
- transformGraphicChanged();
-
- ByteCodePatcher.modifiedClasses.add(ct);
- }
- catch (CannotCompileException | NotFoundException e)
- {
- e.printStackTrace();
- }
- }
-
- private void transformGetAnimation() throws CannotCompileException, NotFoundException
- {
- CtMethod protectedAnimation = ct.getDeclaredMethod("1protect$getRsAnimation");
- ct.removeMethod(protectedAnimation);
-
- protectedAnimation.setName("getRsAnimation");
- ct.addMethod(protectedAnimation);
-
- CtMethod getAnimation = ct.getDeclaredMethod("getAnimation");
- ct.removeMethod(getAnimation);
-
- getAnimation = CtNewMethod.make(
- "public int getAnimation()" +
- "{" +
- " return this.getRsAnimation();" +
- "}", ct);
- ct.addMethod(getAnimation);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
-
- private void transformAnimationChanged() throws CannotCompileException, NotFoundException
- {
- CtMethod getAnimationChanged = ct.getDeclaredMethod("animationChanged", new CtClass[]{CtClass.intType});
- ct.removeMethod(getAnimationChanged);
-
- getAnimationChanged = CtNewMethod.make(
- "public void animationChanged(int n)" +
- "{" +
- " net.runelite.api.events.AnimationChanged animationChanged = new net.runelite.api.events.AnimationChanged();" +
- " animationChanged.setActor((net.runelite.api.Actor) this);" +
- ByteCodePatcher.clientInstance + ".getCallbacks().post((java.lang.Object)animationChanged);" +
- "}", ct);
- ct.addMethod(getAnimationChanged);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- private void transformGraphicChanged() throws CannotCompileException, NotFoundException
- {
- CtMethod graphicChanged = ct.getDeclaredMethod("graphicChanged", new CtClass[]{CtClass.intType});
- ct.removeMethod(graphicChanged);
-
- graphicChanged = CtNewMethod.make(
- "public void graphicChanged(int paramInt)" +
- "{" +
- " net.runelite.api.events.GraphicChanged localGraphicChanged = new net.runelite.api.events.GraphicChanged();" +
- " localGraphicChanged.setActor(this);" +
- ByteCodePatcher.clientInstance + ".getCallbacks().post(localGraphicChanged);" +
- "}", ct);
- ct.addMethod(graphicChanged);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
-}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ClientTransform.java b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ClientTransform.java
deleted file mode 100644
index 3f8c01b843..0000000000
--- a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ClientTransform.java
+++ /dev/null
@@ -1,642 +0,0 @@
-package net.runelite.client.rs.bytecode.transformers;
-
-import javassist.CannotCompileException;
-import javassist.CtClass;
-import javassist.CtMethod;
-import javassist.CtNewMethod;
-import javassist.NotFoundException;
-import javassist.bytecode.AnnotationsAttribute;
-import javassist.bytecode.ClassFile;
-import javassist.bytecode.ConstPool;
-import lombok.extern.slf4j.Slf4j;
-import net.runelite.client.rs.bytecode.ByteCodePatcher;
-
-@Slf4j
-public class ClientTransform implements Transform
-{
-
- private CtClass ct;
-
- @Override
- public void modify(Class clazz)
- {
- try
- {
- ct = ByteCodePatcher.classPool.get(clazz.getName());
-
- transformProtectedGetMenuOptions();
- transformProtectedGetMenuTargets();
- transformProtectedGetMenuIdentifiers();
- transformProtectedGetMenuTypes();
- transformProtectedGetMenuActionParams0();
- transformProtectedGetMenuActionParams1();
- transformGetMenuEntries();
- transformSetMenuEntries();
- transformOnMenuOptionsChanged();
- transformGetProjectiles();
- transformGetCollisionMaps();
- transformDraw2010Menu();
- transformRenderSelf();
- transformboundingBoxCheck();
- transformcheckClickBox();
-
- ByteCodePatcher.modifiedClasses.add(ct);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
-
- private void transformProtectedGetMenuOptions() throws CannotCompileException, NotFoundException
- {
- CtMethod protectedGetMenuOptions;
-
- protectedGetMenuOptions = ct.getDeclaredMethod("1protect$getMenuOptions");
- ct.removeMethod(protectedGetMenuOptions);
-
- protectedGetMenuOptions.setName("getMenuOptions");
- ct.addMethod(protectedGetMenuOptions);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- private void transformGetProjectiles() throws CannotCompileException, NotFoundException
- {
- CtMethod getProjectiles;
-
- CtMethod getProjectilesDeque = ct.getDeclaredMethod("1protect$getProjectilesDeque");
- ct.removeMethod(getProjectilesDeque);
-
- getProjectilesDeque.setName("getProjectilesDeque");
- ct.addMethod(getProjectilesDeque);
-
- getProjectiles = ct.getDeclaredMethod("getProjectiles");
- ct.removeMethod(getProjectiles);
-
- getProjectiles = CtNewMethod.make(
- "public java.util.List getProjectiles() { " +
- "java.util.ArrayList localArrayList = new java.util.ArrayList();" +
- "net.runelite.rs.api.RSDeque localRSDeque = getProjectilesDeque();" +
- "net.runelite.rs.api.RSNode localRSNode = localRSDeque.getHead();" +
- "for (net.runelite.api.Node localNode = localRSNode.getNext(); localNode != localRSNode; localNode = localNode.getNext()) {" +
- "net.runelite.api.Projectile localProjectile = (net.runelite.api.Projectile)localNode;" +
- "localArrayList.add(localProjectile); }" +
- "return localArrayList; }", ct);
- ct.addMethod(getProjectiles);
-
- ClassFile classFile = ct.getClassFile();
- ConstPool constPool = classFile.getConstPool();
- AnnotationsAttribute attr = new AnnotationsAttribute(constPool, AnnotationsAttribute.visibleTag);
- javassist.bytecode.annotation.Annotation annotation = new javassist.bytecode.annotation.Annotation("Override", constPool);
- attr.setAnnotation(annotation);
- getProjectiles.getMethodInfo().addAttribute(attr);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- private void transformProtectedGetMenuTargets() throws CannotCompileException, NotFoundException
- {
- CtMethod protectedGetMenuTargets;
-
- protectedGetMenuTargets = ct.getDeclaredMethod("1protect$getMenuTargets");
- ct.removeMethod(protectedGetMenuTargets);
-
- protectedGetMenuTargets.setName("getMenuTargets");
- ct.addMethod(protectedGetMenuTargets);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- private void transformGetCollisionMaps() throws CannotCompileException, NotFoundException
- {
- CtMethod getCollisionMaps;
-
- CtMethod protectedMaps = ct.getDeclaredMethod("1protect$getRsCollisionMaps");
- ct.removeMethod(protectedMaps);
-
- protectedMaps.setName("getRsCollisionMaps");
- ct.addMethod(protectedMaps);
-
- getCollisionMaps = ct.getDeclaredMethod("getCollisionMaps");
- ct.removeMethod(getCollisionMaps);
-
- getCollisionMaps = CtMethod.make("public net.runelite.rs.api.RSCollisionData[] getCollisionMaps() { return getRsCollisionMaps(); }", ct);
- ct.addMethod(getCollisionMaps);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- private void transformProtectedGetMenuIdentifiers() throws CannotCompileException, NotFoundException
- {
- CtMethod protectedGetMenuIdentifiers;
-
- protectedGetMenuIdentifiers = ct.getDeclaredMethod("1protect$getMenuIdentifiers");
- ct.removeMethod(protectedGetMenuIdentifiers);
-
- protectedGetMenuIdentifiers.setName("getMenuIdentifiers");
- ct.addMethod(protectedGetMenuIdentifiers);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- private void transformProtectedGetMenuTypes() throws CannotCompileException, NotFoundException
- {
- CtMethod protectedGetMenuTypes;
- protectedGetMenuTypes = ct.getDeclaredMethod("1protect$getMenuTypes");
-
- // Don't remove as this is referenced elsewhere in client
- // ct.removeMethod(protectedGetMenuTypes);
-
- CtMethod newProtectedGetMenuTypes = CtNewMethod.copy(protectedGetMenuTypes, ct, null);
- newProtectedGetMenuTypes.setName("getMenuTypes");
-
- ct.addMethod(newProtectedGetMenuTypes);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- private void transformProtectedGetMenuActionParams0() throws CannotCompileException, NotFoundException
- {
- CtMethod protectedGetMenuActionParams0;
-
- protectedGetMenuActionParams0 = ct.getDeclaredMethod("1protect$getMenuActionParams0");
- ct.removeMethod(protectedGetMenuActionParams0);
-
- protectedGetMenuActionParams0.setName("getMenuActionParams0");
- ct.addMethod(protectedGetMenuActionParams0);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- private void transformProtectedGetMenuActionParams1() throws CannotCompileException, NotFoundException
- {
- CtMethod protectedGetMenuActionParams1;
-
- protectedGetMenuActionParams1 = ct.getDeclaredMethod("1protect$getMenuActionParams1");
- ct.removeMethod(protectedGetMenuActionParams1);
- protectedGetMenuActionParams1.setName("getMenuActionParams1");
- ct.addMethod(protectedGetMenuActionParams1);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- private void transformGetMenuEntries() throws CannotCompileException, NotFoundException
- {
- CtMethod getMenuEntries;
-
- getMenuEntries = ct.getDeclaredMethod("getMenuEntries");
- ct.removeMethod(getMenuEntries);
-
- getMenuEntries = CtMethod.make(
- "public net.runelite.api.MenuEntry[] getMenuEntries()" +
- "{" +
- " int n2 = this.getMenuOptionCount();" +
- " String[] arrstring = this.getMenuOptions();" +
- " String[] arrstring2 = this.getMenuTargets();" +
- " int[] arrn = this.getMenuIdentifiers();" +
- " int[] arrn2 = this.getMenuTypes();" +
- " int[] arrn3 = this.getMenuActionParams0();" +
- " int[] arrn4 = this.getMenuActionParams1();" +
- " boolean[] arrbl = this.getMenuForceLeftClick();" +
- " net.runelite.api.MenuEntry[] arrmenuEntry = new net.runelite.api.MenuEntry[n2];" +
- " int n3 = 0;" +
- " while (n3 < n2) " +
- " {" +
- " net.runelite.api.MenuEntry menuEntry = arrmenuEntry[n3] = new net.runelite.api.MenuEntry();" +
- " menuEntry.setOption(arrstring[n3]);" +
- " menuEntry.setTarget(arrstring2[n3]);" +
- " menuEntry.setIdentifier(arrn[n3]);" +
- " menuEntry.setType(arrn2[n3]);" +
- " menuEntry.setParam0(arrn3[n3]);" +
- " menuEntry.setParam1(arrn4[n3]);" +
- " menuEntry.setForceLeftClick(arrbl[n3]);" +
- " ++n3;" +
- " }" +
- " return arrmenuEntry;" +
- "}", ct);
- ct.addMethod(getMenuEntries);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- private void transformSetMenuEntries() throws CannotCompileException, NotFoundException
- {
- CtMethod setMenuEntries;
-
- setMenuEntries = ct.getDeclaredMethod("setMenuEntries");
- ct.removeMethod(setMenuEntries);
- setMenuEntries = CtNewMethod.make(
- "public void setMenuEntries(net.runelite.api.MenuEntry[] arrmenuEntry)" +
- "{" +
- " int n2 = 0;" +
- " String[] arrstring = this.getMenuOptions();" +
- " String[] arrstring2 = this.getMenuTargets();" +
- " int[] arrn = this.getMenuIdentifiers();" +
- " int[] arrn2 = this.getMenuTypes();" +
- " int[] arrn3 = this.getMenuActionParams0();" +
- " int[] arrn4 = this.getMenuActionParams1();" +
- " boolean[] arrbl = getMenuForceLeftClick();" +
- " net.runelite.api.MenuEntry[] arrmenuEntry2 = arrmenuEntry;" +
- " int n3 = arrmenuEntry2.length;" +
- " int n4 = 0;" +
- " do" +
- " {" +
- " String string;" +
- " if (n4 >= n3)" +
- " {" +
- " this.setMenuOptionCount(n2);" +
- " oldMenuEntryCount = n2;" +
- " return;" +
- " }" +
- " net.runelite.api.MenuEntry menuEntry = arrmenuEntry2[n4];" +
- " int n5 = menuEntry.getType();" +
- " arrstring[n2] = menuEntry.getOption();" +
- " arrstring2[n2] = menuEntry.getTarget();" +
- " arrn[n2] = menuEntry.getIdentifier();" +
- " arrn2[n2] = n5;" +
- " arrn3[n2] = menuEntry.getParam0();" +
- " arrn4[n2] = menuEntry.getParam1();" +
- " arrbl[n2] = menuEntry.isForceLeftClick();" +
- " ++n2;" +
- " ++n4;" +
- " } while (true);" +
- "}"
- , ct);
- ct.addMethod(setMenuEntries);
- }
-
- private void transformOnMenuOptionsChanged() throws CannotCompileException, NotFoundException
- {
- CtMethod onMenuOptionsChanged;
-
- onMenuOptionsChanged = ct.getDeclaredMethod("onMenuOptionsChanged", new CtClass[]{CtClass.intType});
- ct.removeMethod(onMenuOptionsChanged);
-
- onMenuOptionsChanged = CtMethod.make(
- "public static void onMenuOptionsChanged(int n2)" +
- "{" +
- " int n3;" +
- " int n4 = oldMenuEntryCount;" +
- " oldMenuEntryCount = n3 = " + ByteCodePatcher.clientInstance + ".getMenuOptionCount();" +
- " if (n3 != n4 + 1) return;" +
- " net.runelite.api.events.MenuEntryAdded menuEntryAdded = new net.runelite.api.events.MenuEntryAdded(" +
- ByteCodePatcher.clientInstance + ".getMenuOptions()[n3 - 1]," +
- ByteCodePatcher.clientInstance + ".getMenuTargets()[n3 - 1]," +
- ByteCodePatcher.clientInstance + ".getMenuTypes()[n3 - 1]," +
- ByteCodePatcher.clientInstance + ".getMenuIdentifiers()[n3 - 1]," +
- ByteCodePatcher.clientInstance + ".getMenuActionParams0()[n3 - 1]," +
- ByteCodePatcher.clientInstance + ".getMenuActionParams1()[n3 - 1]);" +
- ByteCodePatcher.clientInstance + ".getCallbacks().post((Object)menuEntryAdded);" +
- "}"
- , ct);
-
- ct.addMethod(onMenuOptionsChanged);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- private void transformRenderSelf() throws CannotCompileException
- {
- CtMethod renderSelf;
-
- renderSelf = CtMethod.make("public void toggleRenderSelf() { jb = !jb; }", ct);
-
- ClassFile classFile = ct.getClassFile();
- ConstPool constPool = classFile.getConstPool();
- AnnotationsAttribute attr = new AnnotationsAttribute(constPool, AnnotationsAttribute.visibleTag);
- javassist.bytecode.annotation.Annotation annotation = new javassist.bytecode.annotation.Annotation("Export", constPool);
- attr.setAnnotation(annotation);
- renderSelf.getMethodInfo().addAttribute(attr);
-
- ct.addMethod(renderSelf);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- private void transformDraw2010Menu() throws CannotCompileException, NotFoundException
- {
- CtMethod draw2010Menu;
-
- draw2010Menu = ct.getDeclaredMethod("draw2010Menu");
- ct.removeMethod(draw2010Menu);
-
- draw2010Menu = CtNewMethod.make(
- "public void draw2010Menu()" +
- "{" +
- " int n2 = this.getMenuX();" +
- " int n3 = this.getMenuY();" +
- " int n4 = this.getMenuWidth();" +
- " int n5 = this.getMenuHeight();" +
- " this.RasterizerDrawHorizontalLine(n2 + 2, n3, n4 - 4, 7170651);" +
- " this.RasterizerDrawHorizontalLine(n2 + 2, n3 + n5 - 1, n4 - 4, 7170651);" +
- " this.RasterizerDrawVerticalLine(n2, n3 + 2, n5 - 4, 7170651);" +
- " this.RasterizerDrawVerticalLine(n2 + n4 - 1, n3 + 2, n5 - 4, 7170651);" +
- " this.RasterizerDrawRectangle(n2 + 1, n3 + 5, n4 - 2, n5 - 6, 2827810);" +
- " this.RasterizerDrawHorizontalLine(n2 + 1, n3 + 17, n4 - 2, 2827810);" +
- " this.RasterizerDrawCircle(n2 + 2, n3 + n5 - 3, 0, 2827810);" +
- " this.RasterizerDrawCircle(n2 + n4 - 3, n3 + n5 - 3, 0, 2827810);" +
- " this.RasterizerDrawGradient(n2 + 2, n3 + 1, n4 - 4, 16, 3288610, 592388);" +
- " this.RasterizerFillRectangle(n2 + 1, n3 + 1, 2, 4, 2827810);" +
- " this.RasterizerFillRectangle(n2 + n4 - 3, n3 + 1, 2, 4, 2827810);" +
- " this.RasterizerDrawHorizontalLine(n2 + 2, n3 + 18, n4 - 4, 5392957);" +
- " this.RasterizerDrawHorizontalLine(n2 + 3, n3 + n5 - 3, n4 - 6, 5392957);" +
- " this.RasterizerDrawVerticalLine(n2 + 2, n3 + 18, n5 - 21, 5392957);" +
- " this.RasterizerDrawVerticalLine(n2 + n4 - 3, n3 + 18, n5 - 21, 5392957);" +
- " this.RasterizerFillRectangle(n2 + 3, n3 + 19, n4 - 6, n5 - 22, 2828060);" +
- " this.RasterizerDrawCircle(n2 + 1, n3 + 1, 0, 7170651);" +
- " this.RasterizerDrawCircle(n2 + n4 - 2, n3 + 1, 0, 7170651);" +
- " this.RasterizerDrawCircle(n2 + 1, n3 + n5 - 2, 0, 7170651);" +
- " this.RasterizerDrawCircle(n2 + n4 - 2, n3 + n5 - 2, 0, 7170651);" +
- " net.runelite.rs.api.RSFont rSFont = this.getFontBold12();" +
- " rSFont.drawTextLeftAligned(\"Choose Option\", n2 + 3, n3 + 14, 13023381, -1);" +
- " int n6 = this.getMouseX();" +
- " int n7 = this.getMouseY();" +
- " int n8 = this.getMenuOptionCount();" +
- " String[] arrstring = this.getMenuTargets();" +
- " String[] arrstring2 = this.getMenuOptions();" +
- " for (int i = 0; i < n8; ++i)" +
- " {" +
- " int n9 = n3 + (n8 - 1 - i) * 15 + 31;" +
- " String string = arrstring2[i];" +
- " if (!arrstring[i].isEmpty())" +
- " {" +
- " string = string + \" \" + arrstring[i];" +
- " }" +
- " rSFont.drawTextLeftAligned(string, n2 + 3, n9, 13023381, -1);" +
- " if (n6 <= n2 || n6 >= n4 + n2 || n7 <= n9 - 13 || n7 >= n9 + 3)" +
- " {" +
- " continue;" +
- " }" +
- " this.RasterizerFillRectangleAlpha(n2 + 3, n9 - 12, n4 - 6, 15, 16777215, 80);" +
- " }" +
- "}"
- , ct);
- ct.addMethod(draw2010Menu);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- //TODO: fix not being able to click far away objects towards top of screen only.
- private void transformboundingBoxCheck() throws CannotCompileException
- {
- CtMethod boundingboxCheck2;
-
- boundingboxCheck2 = CtMethod.make(
- "public boolean boundingboxCheck2(net.runelite.api.Model model, int n2, int n3, int n4)" +
- "{" +
- " int n5 = " + ByteCodePatcher.clientInstance + ".getCameraPitch();" +
- " int n6 = " + ByteCodePatcher.clientInstance + ".getCameraYaw();" +
- " int n7 = net.runelite.api.Perspective.SINE[n5];" +
- " int n8 = net.runelite.api.Perspective.COSINE[n5];" +
- " int n9 = net.runelite.api.Perspective.SINE[n6];" +
- " int n10 = net.runelite.api.Perspective.COSINE[n6];" +
- " int n11 = " + ByteCodePatcher.clientInstance + ".getCenterX();" +
- " int n12 = " + ByteCodePatcher.clientInstance + ".getCenterY();" +
- " int n13 = " + ByteCodePatcher.clientInstance + ".getViewportMouseX();" +
- " int n14 = " + ByteCodePatcher.clientInstance + ".getViewportMouseY();" +
- " int n15 = " + ByteCodePatcher.clientInstance + ".get3dZoom();" +
- " int n16 = (n13 - n11) * 50 / n15;" +
- " int n17 = (n14 - n12) * 50 / n15;" +
- " int n18 = (n13 - n11) * 10000 / n15;" +
- " int n19 = (n14 - n12) * 10000 / n15;" +
- " int n20 = client.rl$rot1(n17, 50, n8, n7);" +
- " int n21 = client.rl$rot2(n17, 50, n8, n7);" +
- " n17 = n20;" +
- " n20 = client.rl$rot1(n19, 10000, n8, n7);" +
- " int n22 = client.rl$rot2(n19, 10000, n8, n7);" +
- " n19 = n20;" +
- " n20 = client.rl$rot3(n16, n21, n10, n9);" +
- " n21 = client.rl$rot4(n16, n21, n10, n9);" +
- " n16 = n20;" +
- " n20 = client.rl$rot3(n18, n22, n10, n9);" +
- " n22 = client.rl$rot4(n18, n22, n10, n9);" +
- " int n23 = (n20 - n16) / 2;" +
- " int n24 = (n19 - n17) / 2;" +
- " int n25 = (n22 - n21) / 2;" +
- " int n26 = Math.abs(n23);" +
- " int n27 = Math.abs(n24);" +
- " int n28 = Math.abs(n25);" +
- " int n29 = n2 + model.getCenterX();" +
- " int n30 = n3 + model.getCenterY();" +
- " int n31 = n4 + model.getCenterZ();" +
- " int n32 = model.getExtremeX();" +
- " int n33 = model.getExtremeY();" +
- " int n34 = model.getExtremeZ();" +
- " int n35 = (n16 + n20) / 2;" +
- " int n36 = (n17 + n19) / 2;" +
- " int n37 = (n22 + n21) / 2;" +
- " int n38 = n35 - n29;" +
- " int n39 = n36 - n30;" +
- " int n40 = n37 - n31;" +
- " if (Math.abs(n38) > n32 + n26)" +
- " {" +
- " return false;" +
- " }" +
- " if (Math.abs(n39) > n33 + n27)" +
- " {" +
- " return false;" +
- " }" +
- " if (Math.abs(n40) > n34 + n28)" +
- " {" +
- " return false;" +
- " }" +
- " if (Math.abs(n40 * n24 - n39 * n25) > n33 * n28 + n34 * n27)" +
- " {" +
- " return false;" +
- " }" +
- " if (Math.abs(n38 * n25 - n40 * n23) > n34 * n26 + n32 * n28)" +
- " {" +
- " return false;" +
- " }" +
- " if (Math.abs(n39 * n23 - n38 * n24) <= n33 * n26 + n32 * n27)" +
- " {" +
- " return true;" +
- " }" +
- " return false;" +
- "}", ct);
- ct.addMethod(boundingboxCheck2);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- private void transformcheckClickBox() throws CannotCompileException, NotFoundException
- {
- CtMethod checkClickBox;
-
- checkClickBox = ct.getDeclaredMethod("checkClickbox");
- ct.removeMethod(checkClickBox);
-
- checkClickBox = CtMethod.make(
- "public void checkClickbox(net.runelite.api.Model model, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, long l2) {" +
- " int n10;" +
- " int n11;" +
- " int n12;" +
- " int n13;" +
- " int n14;" +
- " net.runelite.rs.api.RSModel rSModel = (net.runelite.rs.api.RSModel)model;" +
- " boolean bl2 = l2 != 0L && (int)(l2 >>> 16 & 1L) != 1;" +
- " boolean bl3 = " + ByteCodePatcher.clientInstance + ".getViewportContainsMouse();" +
- " if (!bl2)" +
- " {" +
- " return;" +
- " }" +
- " if (!bl3)" +
- " {" +
- " return;" +
- " }" +
- " boolean bl4 = this.boundingboxCheck2((net.runelite.api.Model)rSModel, n7, n8, n9);" +
- " if (!bl4)" +
- " {" +
- " return;" +
- " }" +
- " if (rSModel.isClickable())" +
- " {" +
- " this.addHashAtMouse(l2);" +
- " return;" +
- " }" +
- " int n15 = rSModel.getVerticesCount();" +
- " int n16 = rSModel.getTrianglesCount();" +
- " int[] arrn = rSModel.getVerticesX();" +
- " int[] arrn2 = rSModel.getVerticesY();" +
- " int[] arrn3 = rSModel.getVerticesZ();" +
- " int[] arrn4 = rSModel.getTrianglesX();" +
- " int[] arrn5 = rSModel.getTrianglesY();" +
- " int[] arrn6 = rSModel.getTrianglesZ();" +
- " int[] arrn7 = rSModel.getFaceColors3();" +
- " int n17 = " + ByteCodePatcher.clientInstance + ".get3dZoom();" +
- " int n18 = " + ByteCodePatcher.clientInstance + ".getCenterX();" +
- " int n19 = " + ByteCodePatcher.clientInstance + ".getCenterY();" +
- " int n20 = 0;" +
- " int n21 = 0;" +
- " if (n2 != 0)" +
- " {" +
- " n20 = net.runelite.api.Perspective.SINE[n2];" +
- " n21 = net.runelite.api.Perspective.COSINE[n2];" +
- " }" +
- " for (n14 = 0; n14 < n15; ++n14)" +
- " {" +
- " n11 = arrn[n14];" +
- " n13 = arrn2[n14];" +
- " n12 = arrn3[n14];" +
- " if (n2 != 0)" +
- " {" +
- " n10 = n12 * n20 + n11 * n21 >> 16;" +
- " n12 = n12 * n21 - n11 * n20 >> 16;" +
- " n11 = n10;" +
- " }" +
- " n10 = (n12 += n9) * n5 + n6 * (n11 += n7) >> 16;" +
- " n12 = n6 * n12 - n11 * n5 >> 16;" +
- " n11 = n10;" +
- " n10 = n4 * (n13 += n8) - n12 * n3 >> 16;" +
- " if ((n12 = n13 * n3 + n4 * n12 >> 16) >= 50)" +
- " {" +
- " client.rl$modelViewportYs[n14] = n11 * n17 / n12 + n18;" +
- " client.rl$modelViewportXs[n14] = n10 * n17 / n12 + n19;" +
- " continue;" +
- " }" +
- " client.rl$modelViewportYs[n14] = -5000;" +
- " }" +
- " n14 = " + ByteCodePatcher.clientInstance + ".getViewportMouseX();" +
- " n11 = " + ByteCodePatcher.clientInstance + ".getViewportMouseY();" +
- " n13 = 0;" +
- " while (n13 < n16)" +
- " {" +
- " if (arrn7[n13] != -2)" +
- " {" +
- " int n22;" +
- " boolean bl5;" +
- " int n23;" +
- " n12 = arrn4[n13];" +
- " n10 = arrn5[n13];" +
- " int n24 = arrn6[n13];" +
- " int n25 = rl$modelViewportYs[n12];" +
- " int n26 = rl$modelViewportYs[n10];" +
- " int n27 = rl$modelViewportYs[n24];" +
- " int n28 = rl$modelViewportXs[n12];" +
- " int n29 = rl$modelViewportXs[n10];" +
- " int n30 = rl$modelViewportXs[n24];" +
- " if (n25 != -5000 && n26 != -5000 && n27 != -5000 && (bl5 = (n23 = (n22 = rSModel.isClickable() ? 20 : 5) + n11) < n28 && n23 < n29 && n23 < n30 ? false : ((n23 = n11 - n22) > n28 && n23 > n29 && n23 > n30 ? false : ((n23 = n22 + n14) < n25 && n23 < n26 && n23 < n27 ? false : (n23 = n14 - n22) <= n25 || n23 <= n26 || n23 <= n27))))" +
- " {" +
- " this.addHashAtMouse(l2);" +
- " return;" +
- " }" +
- " }" +
- " ++n13;" +
- " }" +
- "}", ct);
- ct.addMethod(checkClickBox);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ErrorTransform.java b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ErrorTransform.java
deleted file mode 100644
index 86fa1ef8bb..0000000000
--- a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ErrorTransform.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package net.runelite.client.rs.bytecode.transformers;
-
-import javassist.CannotCompileException;
-import javassist.CtClass;
-import javassist.CtMethod;
-import javassist.NotFoundException;
-import lombok.extern.slf4j.Slf4j;
-import net.runelite.client.rs.bytecode.ByteCodePatcher;
-
-@Slf4j
-// This prevents the client from sending stack traces to Jagex at all, even classes outside of runelite.
-public class ErrorTransform implements Transform
-{
- private CtClass ct;
-
- // Where Runelites error interceptor is located, not auto-scraped.
- private static final String ERROR_INSTANCE_CLASS = "dp";
- private static final String ERROR_INSTANCE_METHOD = "a";
- // private static final String ERROR_WARNING = "Tried to send a warning";
-
- @Override
- public void modify(Class clazz)
- {
- try
- {
- ct = ByteCodePatcher.classPool.get(ERROR_INSTANCE_CLASS);
- transformError();
-
- ByteCodePatcher.modifiedClasses.add(ct);
- }
- catch (CannotCompileException | NotFoundException e)
- {
- e.printStackTrace();
- }
- }
-
- private void transformError() throws CannotCompileException, NotFoundException
- {
- CtMethod error = ct.getDeclaredMethod(ERROR_INSTANCE_METHOD);
- ct.removeMethod(error);
-
- error = CtMethod.make(
- "public static void a(String string, Throwable throwable, byte by)" +
- "{" +
- " throwable.printStackTrace();" +
- " System.out.println(\"[RuneLitePlus] Prevented preceeding stack trace from being sent to Jagex\");" +
- "}", ct);
- ct.addMethod(error);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/PlayerTransform.java b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/PlayerTransform.java
deleted file mode 100644
index 2b1d5d5741..0000000000
--- a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/PlayerTransform.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package net.runelite.client.rs.bytecode.transformers;
-
-import javassist.CannotCompileException;
-import javassist.CtClass;
-import javassist.CtMethod;
-import javassist.CtNewMethod;
-import javassist.NotFoundException;
-import lombok.extern.slf4j.Slf4j;
-import net.runelite.client.rs.bytecode.ByteCodePatcher;
-
-@Slf4j
-public class PlayerTransform implements Transform
-{
- private CtClass ct;
-
- @Override
- public void modify(Class player)
- {
- try
- {
- ct = ByteCodePatcher.classPool.get(player.getName());
- transformProtectedGetSkullIcon();
- transformGetSkullIcon();
- ByteCodePatcher.modifiedClasses.add(ct);
- }
- catch (CannotCompileException | NotFoundException e)
- {
- e.printStackTrace();
- }
- }
-
- private void transformProtectedGetSkullIcon() throws CannotCompileException, NotFoundException
- {
- CtMethod protectedGetSkullIcon;
-
- protectedGetSkullIcon = ct.getDeclaredMethod("1protect$getRsSkullIcon");
- ct.removeMethod(protectedGetSkullIcon);
- protectedGetSkullIcon.setName("getRsSkullIcon");
-
- ct.addMethod(protectedGetSkullIcon);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- private void transformGetSkullIcon() throws CannotCompileException, NotFoundException
- {
- CtMethod getSkullIcon;
-
- String SkullIcon = "net.runelite.api.SkullIcon";
- getSkullIcon = ct.getDeclaredMethod("getSkullIcon");
- ct.removeMethod(getSkullIcon);
-
- getSkullIcon = CtNewMethod.make(
- "public " + SkullIcon + " getSkullIcon()" +
- "{" +
- "switch (this.getRsSkullIcon())" +
- "{" +
- "case 0:" +
- "return " + SkullIcon + ".SKULL;" +
- "case 1:" +
- "return " + SkullIcon + ".SKULL_FIGHT_PIT;" +
- "case 8:" +
- "return " + SkullIcon + ".DEAD_MAN_FIVE;" +
- "case 9:" +
- "return " + SkullIcon + ".DEAD_MAN_FOUR;" +
- "case 10:" +
- "return " + SkullIcon + ".DEAD_MAN_THREE;" +
- "case 11:" +
- "return " + SkullIcon + ".DEAD_MAN_TWO;" +
- "case 12:" +
- "return " + SkullIcon + ".DEAD_MAN_ONE;" +
- "}" +
- "return null;" +
- "}", ct);
- ct.addMethod(getSkullIcon);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ProjectileTransform.java b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ProjectileTransform.java
deleted file mode 100644
index ea8687e8b4..0000000000
--- a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ProjectileTransform.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package net.runelite.client.rs.bytecode.transformers;
-
-import javassist.CannotCompileException;
-import javassist.CtClass;
-import javassist.CtMethod;
-import javassist.CtNewMethod;
-import javassist.NotFoundException;
-import lombok.extern.slf4j.Slf4j;
-import net.runelite.client.rs.bytecode.ByteCodePatcher;
-
-@Slf4j
-public class ProjectileTransform implements Transform
-{
- private CtClass ct;
-
- // Next variable is manually added, and will break on rev update
- private static final String interactingIntvalue = "-1655053057";
-
- @Override
- public void modify(Class projectile)
- {
- try
- {
- ct = ByteCodePatcher.classPool.get(projectile.getName());
- transformGetAnimation();
- transformInteracting();
- ByteCodePatcher.modifiedClasses.add(ct);
- }
- catch (CannotCompileException | NotFoundException e)
- {
- e.printStackTrace();
- }
- }
-
- private void transformGetAnimation() throws CannotCompileException, NotFoundException
- {
- CtMethod getAnimation;
-
- getAnimation = ct.getDeclaredMethod("projectileMoved", new CtClass[]{CtClass.intType, CtClass.intType, CtClass.intType, CtClass.intType});
- ct.removeMethod(getAnimation);
-
- getAnimation = CtNewMethod.make(
- "public void projectileMoved(int n, int n2, int n3, int n4)" +
- "{ " +
- " int n5 = this.getId();" +
- " net.runelite.api.coords.LocalPoint localPoint = new net.runelite.api.coords.LocalPoint(n, n2);" +
- " net.runelite.api.events.ProjectileMoved projectileMoved = new net.runelite.api.events.ProjectileMoved();" +
- " projectileMoved.setProjectile(this);" +
- " projectileMoved.setPosition(localPoint);" +
- " projectileMoved.setZ(n3);" +
- ByteCodePatcher.clientInstance + ".getCallbacks().post(projectileMoved);" +
- "}", ct);
- ct.addMethod(getAnimation);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-
- private void transformInteracting() throws CannotCompileException
- {
- CtMethod getRsInteracting;
- CtMethod getInteracting;
-
- getRsInteracting = CtNewMethod.make("public int getRsInteracting() { return this.n * " + interactingIntvalue + "; }", ct);
- ct.addMethod(getRsInteracting);
-
- getInteracting = CtNewMethod.make(
- "public net.runelite.api.Actor getInteracting()" +
- "{" +
- " int var1 = this.getRsInteracting();" +
- " if (var1 == 0)" +
- " {" +
- " return null;" +
- " }" +
- " else" +
- " {" +
- " int var2;" +
- " if (var1 > 0)" +
- " {" +
- " var2 = var1 - 1;" +
- " net.runelite.rs.api.RSNPC[] var4 = " + ByteCodePatcher.clientInstance + ".getCachedNPCs();" +
- " return var4[var2];" +
- " }" +
- " else" +
- " {" +
- " var2 = -var1 - 1;" +
- " if (var2 == " + ByteCodePatcher.clientInstance + ".getLocalInteractingIndex())" +
- " {" +
- " return " + ByteCodePatcher.clientInstance + ".getLocalPlayer();" +
- " }" +
- " else" +
- " {" +
- " net.runelite.rs.api.RSPlayer[] var3 = " + ByteCodePatcher.clientInstance + ".getCachedPlayers();" +
- " return var3[var2];" +
- " }" +
- " }" +
- " }" +
- "}", ct);
- ct.addMethod(getInteracting);
-
- log.info(
- "[RuneLitePlus] transformed {} ({}) at class: {}",
- this.getClass().getSimpleName(),
- new Object(){}.getClass().getEnclosingMethod().getName(),
- ct.getName()
- );
- }
-}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/Transform.java b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/Transform.java
deleted file mode 100644
index f3835faff2..0000000000
--- a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/Transform.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package net.runelite.client.rs.bytecode.transformers;
-
-public interface Transform {
-
- void modify(Class clazz);
-
-}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/mixins/MixinRunner.java b/runelite-client/src/main/java/net/runelite/client/rs/mixins/MixinRunner.java
new file mode 100644
index 0000000000..e745e06190
--- /dev/null
+++ b/runelite-client/src/main/java/net/runelite/client/rs/mixins/MixinRunner.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package net.runelite.client.rs.mixins;
+
+import lombok.RequiredArgsConstructor;
+import net.runelite.client.rs.mixins.transformers.*;
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.ClassWriter;
+import org.objectweb.asm.commons.ClassRemapper;
+import org.objectweb.asm.commons.Remapper;
+import org.objectweb.asm.tree.ClassNode;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+
+@RequiredArgsConstructor
+public class MixinRunner
+{
+
+ private final Map classes;
+ private final Map patches;
+
+ public Map run()
+ throws NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException
+ {
+ runVisitor(InterfaceTransformer.class);
+ runVisitor(OverwriteTransformer.class);
+ runSanityChecker(OverwriteSanityCheck.class);
+ runVisitor(InjectTransformer.class);
+ runVisitor(AppendTransformer.class); // append has to come before prepend or append does nothing
+ // (test method: Projectile.rl$$init()V )
+ runVisitor(PrependTransformer.class);
+ runRemapper(ProtectTransformer.class);
+
+ recalcMaxes();
+ return classes;
+ }
+
+ private void runRemapper(Class extends Remapper> clazz) throws IllegalAccessException, InstantiationException
+ {
+ for (Map.Entry entry : classes.entrySet())
+ {
+ if (entry.getKey().contains("META-INF"))
+ {
+ continue;
+ }
+ Remapper inst = clazz.newInstance();
+ ClassReader cr = new ClassReader(entry.getValue());
+ ClassWriter cw = new ClassWriter(cr, 1);
+ cr.accept(new ClassRemapper(cw, inst), 0);
+
+ entry.setValue(cw.toByteArray());
+ }
+ }
+
+ private void runVisitor(Class extends ClassVisitor> clazz)
+ throws IllegalAccessException, NoSuchMethodException, InvocationTargetException, InstantiationException
+ {
+ runVisitor(clazz, 1);
+ }
+
+ private void runVisitor(Class extends ClassVisitor> clazz, int flags)
+ throws IllegalAccessException, NoSuchMethodException, InvocationTargetException, InstantiationException
+ {
+ for (Map.Entry entry : classes.entrySet())
+ {
+ if (entry.getKey().contains("META-INF"))
+ {
+ continue;
+ }
+ ClassReader cr = new ClassReader(entry.getValue());
+ ClassWriter cw = new ClassWriter(cr, flags);
+ byte[] patch = patches.getOrDefault(entry.getKey(), null);
+ ClassNode node = new ClassNode();
+ cr.accept(node, 0);
+ ClassVisitor inst = clazz.getConstructor(ClassVisitor.class, byte[].class, ClassNode.class).newInstance(cw,
+ patch, node);
+ cr.accept(inst, 0);
+
+ entry.setValue(cw.toByteArray());
+ }
+ }
+
+ private void runSanityChecker(Class extends SanityChecker> clazz)
+ throws IllegalAccessException, NoSuchMethodException, InvocationTargetException, InstantiationException
+ {
+ runSanityChecker(clazz, 1);
+ }
+
+ private void runSanityChecker(Class extends SanityChecker> clazz, int flags)
+ throws IllegalAccessException, NoSuchMethodException, InvocationTargetException, InstantiationException
+ {
+ for (Map.Entry entry : patches.entrySet())
+ {
+ ClassReader cr = new ClassReader(entry.getValue());
+ ClassWriter cw = new ClassWriter(cr, flags);
+ ClassNode node = new ClassNode();
+ cr.accept(node, 0);
+ SanityChecker inst = clazz.getConstructor(ClassVisitor.class, ClassNode.class).newInstance(cw, node);
+ cr.accept(inst, 0);
+ }
+ }
+
+ private void recalcMaxes()
+ throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException
+ {
+ runVisitor(DoNothingTransformer.class, 3);
+ }
+
+}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/AppendTransformer.java b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/AppendTransformer.java
new file mode 100644
index 0000000000..340c93e08b
--- /dev/null
+++ b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/AppendTransformer.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package net.runelite.client.rs.mixins.transformers;
+
+import lombok.extern.slf4j.Slf4j;
+import net.runelite.client.util.RefUtils;
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.tree.AbstractInsnNode;
+import org.objectweb.asm.tree.ClassNode;
+import org.objectweb.asm.tree.LabelNode;
+import org.objectweb.asm.tree.LineNumberNode;
+import org.objectweb.asm.tree.MethodNode;
+
+@Slf4j
+public class AppendTransformer extends ClassVisitor implements Opcodes
+{
+
+ private final byte[] patch;
+ private String className;
+ private ClassNode classNode;
+
+ public AppendTransformer(ClassVisitor classVisitor, byte[] patch, ClassNode node)
+ {
+ super(Opcodes.ASM6, classVisitor);
+ this.patch = patch;
+ this.classNode = node;
+ }
+
+ @Override
+ public void visit(int version, int access, String name, String signature, String superName, String[] interfaces)
+ {
+ className = name;
+ super.visit(version, access, name, signature, superName, interfaces);
+ }
+
+ @Override
+ public MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions)
+ {
+ if (patch == null)
+ {
+ return super.visitMethod(access, name, descriptor, signature, exceptions);
+ }
+ ClassReader cr = new ClassReader(patch);
+ ClassNode patchNode = new ClassNode(Opcodes.ASM6);
+ cr.accept(patchNode, 0);
+ for (Object obj : patchNode.methods)
+ {
+ MethodNode patchMethod = (MethodNode) obj;
+ if ((patchMethod.access == access && patchMethod.name.equals("append$" + name) &&
+ patchMethod.desc.equals(descriptor)) &&
+ RefUtils.checkAnnotation(patchMethod, "Append"))
+ {
+ MethodVisitor mv =
+ new MethodVisitor(Opcodes.ASM6, super.visitMethod(access, name, descriptor, signature,
+ exceptions))
+ {
+ };
+ mv.visitCode();
+
+ for (Object obj2 : classNode.methods)
+ {
+ MethodNode classMethod = (MethodNode) obj2;
+ if (classMethod.access == access && classMethod.name.equals(name) &&
+ classMethod.desc.equals(descriptor))
+ {
+ AbstractInsnNode inode = classMethod.instructions.getLast();
+
+ while(inode instanceof LabelNode || inode instanceof LineNumberNode)
+ {
+ inode = inode.getPrevious();
+ }
+
+ if(RefUtils.isReturn(inode.getOpcode(), true))
+ {
+ log.error("[Append] Can't append to {}.{}, requires typed return opcode", className, name);
+ return super.visitMethod(access, name, descriptor, signature, exceptions);
+ }
+
+ classMethod.instructions.remove(inode);
+
+ classMethod.accept(new MethodReflector(mv));
+ break;
+ }
+ }
+
+ patchMethod.accept(new MethodReflector(mv));
+
+ mv.visitEnd();
+ return mv;
+ }
+ }
+ return super.visitMethod(access, name, descriptor, signature, exceptions);
+ }
+}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/DoNothingTransformer.java b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/DoNothingTransformer.java
new file mode 100644
index 0000000000..7f6079c792
--- /dev/null
+++ b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/DoNothingTransformer.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package net.runelite.client.rs.mixins.transformers;
+
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.tree.ClassNode;
+
+public class DoNothingTransformer extends ClassVisitor
+{
+ public DoNothingTransformer(ClassVisitor parent, byte[] patch, ClassNode node)
+ {
+ super(Opcodes.ASM6, parent);
+ }
+}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/InjectTransformer.java b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/InjectTransformer.java
new file mode 100644
index 0000000000..283d6d4208
--- /dev/null
+++ b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/InjectTransformer.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package net.runelite.client.rs.mixins.transformers;
+
+import net.runelite.client.util.RefUtils;
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.tree.ClassNode;
+import org.objectweb.asm.tree.FieldNode;
+import org.objectweb.asm.tree.MethodNode;
+
+public class InjectTransformer extends ClassVisitor
+{
+
+ private final byte[] patch;
+ private ClassNode node;
+ private String className;
+ private boolean patching = false;
+
+ public InjectTransformer(ClassVisitor classVisitor, byte[] patch, ClassNode node)
+ {
+ super(Opcodes.ASM6, classVisitor);
+ this.patch = patch;
+ this.node = node;
+ }
+
+ @Override
+ public void visit(int version, int access, String name, String signature, String superName, String[] interfaces)
+ {
+ className = name;
+ super.visit(version, access, name, signature, superName, interfaces);
+ }
+
+ @Override
+ public MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions)
+ {
+ if (patch == null || name.startsWith("1protect$"))
+ {
+ return super.visitMethod(access, name, descriptor, signature, exceptions);
+ }
+ if (name.startsWith("prepend$") || name.startsWith("append$")||
+ (patching && name.startsWith("<")))
+ {
+ return null;
+ }
+ MethodVisitor mv = super.visitMethod(access, name, descriptor, signature, exceptions);
+ ClassReader cr = new ClassReader(patch);
+ ClassNode patchNode = new ClassNode(Opcodes.ASM6);
+ cr.accept(patchNode, 0);
+ for (Object obj : patchNode.methods)
+ {
+ MethodNode node = (MethodNode) obj;
+ if ((node.access == access && node.name.equals(name) && node.desc.equals(descriptor)) &&
+ RefUtils.checkAnnotation(node, "Inject"))
+ {
+ mv.visitCode();
+ node.accept(new MethodReflector(mv));
+ mv.visitEnd();
+ }
+ }
+ return mv;
+ }
+
+ @Override
+ public void visitEnd()
+ {
+
+ if (patch == null)
+ {
+ super.visitEnd();
+ return;
+ }
+
+ ClassReader cr = new ClassReader(patch);
+ ClassNode patchNode = new ClassNode(Opcodes.ASM6);
+ cr.accept(patchNode, 0);
+ patching = true;
+ for (Object obj : patchNode.methods)
+ {
+ MethodNode node = (MethodNode) obj;
+ if (RefUtils.checkAnnotation(node, "Inject"))
+ {
+ visitMethod(node.access, node.name, node.desc, node.signature,
+ (String[]) node.exceptions.toArray(new String[0]));
+ }
+ }
+
+ for (Object obj : patchNode.fields)
+ {
+ FieldNode node = (FieldNode) obj;
+ if (RefUtils.checkAnnotation(node, "Inject"))
+ {
+ visitField(node.access, node.name, node.desc, node.signature, node.value);
+ }
+ }
+ patching = false;
+ super.visitEnd();
+ }
+
+}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/InterfaceTransformer.java b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/InterfaceTransformer.java
new file mode 100644
index 0000000000..633b45409b
--- /dev/null
+++ b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/InterfaceTransformer.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package net.runelite.client.rs.mixins.transformers;
+
+import lombok.extern.slf4j.Slf4j;
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.tree.ClassNode;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+
+@Slf4j
+public class InterfaceTransformer extends ClassVisitor implements Opcodes
+{
+
+ private final byte[] patch;
+ private ClassNode node;
+ private String className;
+
+ public InterfaceTransformer(ClassVisitor classVisitor, byte[] patch, ClassNode node)
+ {
+ super(Opcodes.ASM6, classVisitor);
+ this.patch = patch;
+ this.node = node;
+ }
+
+ @Override
+ public void visit(int version, int access, String name, String signature, String superName, String[] interfaces)
+ {
+ className = name;
+ if(patch != null)
+ {
+ ClassReader reader = new ClassReader(patch);
+ ClassNode pNode = new ClassNode();
+ reader.accept(pNode, 0);
+ if(pNode.interfaces != null && pNode.interfaces.size() != 0)
+ {
+ if(interfaces == null)
+ {
+ interfaces = (String[]) pNode.interfaces.toArray(new String[0]);
+ }
+ else
+ {
+ ArrayList list = new ArrayList<>(Arrays.asList(interfaces));
+ pNode.interfaces.forEach((s) -> list.add((String) s));
+ interfaces = list.toArray(new String[0]);
+ }
+ }
+ }
+ super.visit(version, access, name, signature, superName, interfaces);
+ }
+
+}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/MethodReflector.java b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/MethodReflector.java
new file mode 100644
index 0000000000..775b791f5b
--- /dev/null
+++ b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/MethodReflector.java
@@ -0,0 +1,295 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package net.runelite.client.rs.mixins.transformers;
+
+import org.objectweb.asm.AnnotationVisitor;
+import org.objectweb.asm.Attribute;
+import org.objectweb.asm.Handle;
+import org.objectweb.asm.Label;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.TypePath;
+
+public class MethodReflector extends MethodVisitor
+{
+
+ private MethodVisitor target;
+
+ public MethodReflector(MethodVisitor target)
+ {
+ super(Opcodes.ASM6);
+ this.target = target;
+ }
+
+ public void visitParameter(String var1, int var2)
+ {
+ if (target != null)
+ {
+ target.visitParameter(var1, var2);
+ }
+ super.visitParameter(var1, var2);
+ }
+
+ public AnnotationVisitor visitAnnotationDefault()
+ {
+ return super.visitAnnotationDefault();
+ }
+
+ public AnnotationVisitor visitAnnotation(String var1, boolean var2)
+ {
+ return super.visitAnnotation(var1, var2);
+ }
+
+ public AnnotationVisitor visitTypeAnnotation(int var1, TypePath var2, String var3, boolean var4)
+ {
+ return super.visitTypeAnnotation(var1, var2, var3, var4);
+ }
+
+ public AnnotationVisitor visitParameterAnnotation(int var1, String var2, boolean var3)
+ {
+ return super.visitParameterAnnotation(var1, var2, var3);
+ }
+
+ public void visitAttribute(Attribute var1)
+ {
+ if (target != null)
+ {
+ target.visitAttribute(var1);
+ }
+ super.visitAttribute(var1);
+ }
+
+ public void visitFrame(int var1, int var2, Object[] var3, int var4, Object[] var5)
+ {
+ if (target != null)
+ {
+ target.visitFrame(var1, var2, var3, var4, var5);
+ }
+ super.visitFrame(var1, var2, var3, var4, var5);
+ }
+
+ public void visitInsn(int var1)
+ {
+ if (target != null)
+ {
+ target.visitInsn(var1);
+ }
+ super.visitInsn(var1);
+ }
+
+ public void visitIntInsn(int var1, int var2)
+ {
+ if (target != null)
+ {
+ target.visitIntInsn(var1, var2);
+ }
+ super.visitIntInsn(var1, var2);
+ }
+
+ public void visitVarInsn(int var1, int var2)
+ {
+ if (target != null)
+ {
+ target.visitVarInsn(var1, var2);
+ }
+ super.visitVarInsn(var1, var2);
+ }
+
+ public void visitTypeInsn(int var1, String var2)
+ {
+ if (target != null)
+ {
+ target.visitTypeInsn(var1, var2);
+ }
+ super.visitTypeInsn(var1, var2);
+ }
+
+ public void visitFieldInsn(int var1, String var2, String var3, String var4)
+ {
+ if (target != null)
+ {
+ target.visitFieldInsn(var1, var2, var3, var4);
+ }
+ super.visitFieldInsn(var1, var2, var3, var4);
+ }
+
+ /**
+ * @deprecated
+ */
+ public void visitMethodInsn(int var1, String var2, String var3, String var4)
+ {
+ if (target != null)
+ {
+ target.visitMethodInsn(var1, var2, var3, var4);
+ }
+ super.visitMethodInsn(var1, var2, var3, var4);
+ }
+
+ public void visitMethodInsn(int var1, String var2, String var3, String var4, boolean var5)
+ {
+ if (target != null)
+ {
+ target.visitMethodInsn(var1, var2, var3, var4, var5);
+ }
+ super.visitMethodInsn(var1, var2, var3, var4, var5);
+ }
+
+ public void visitInvokeDynamicInsn(String var1, String var2, Handle var3, Object... var4)
+ {
+ if (target != null)
+ {
+ target.visitInvokeDynamicInsn(var1, var2, var3, var4);
+ }
+ super.visitInvokeDynamicInsn(var1, var2, var3, var4);
+ }
+
+ public void visitJumpInsn(int var1, Label var2)
+ {
+ if (target != null)
+ {
+ target.visitJumpInsn(var1, var2);
+ }
+ super.visitJumpInsn(var1, var2);
+ }
+
+ public void visitLabel(Label var1)
+ {
+ if (target != null)
+ {
+ target.visitLabel(var1);
+ }
+ super.visitLabel(var1);
+ }
+
+ public void visitLdcInsn(Object var1)
+ {
+ if (target != null)
+ {
+ target.visitLdcInsn(var1);
+ }
+ super.visitLdcInsn(var1);
+ }
+
+ public void visitIincInsn(int var1, int var2)
+ {
+ if (target != null)
+ {
+ target.visitIincInsn(var1, var2);
+ }
+ super.visitIincInsn(var1, var2);
+ }
+
+ public void visitTableSwitchInsn(int var1, int var2, Label var3, Label... var4)
+ {
+ if (target != null)
+ {
+ target.visitTableSwitchInsn(var1, var2, var3, var4);
+ }
+ super.visitTableSwitchInsn(var1, var2, var3, var4);
+ }
+
+ public void visitLookupSwitchInsn(Label var1, int[] var2, Label[] var3)
+ {
+ if (target != null)
+ {
+ target.visitLookupSwitchInsn(var1, var2, var3);
+ }
+ super.visitLookupSwitchInsn(var1, var2, var3);
+ }
+
+ public void visitMultiANewArrayInsn(String var1, int var2)
+ {
+ if (target != null)
+ {
+ target.visitMultiANewArrayInsn(var1, var2);
+ }
+ super.visitMultiANewArrayInsn(var1, var2);
+ }
+
+ public AnnotationVisitor visitInsnAnnotation(int var1, TypePath var2, String var3, boolean var4)
+ {
+ if (target != null)
+ {
+ target.visitInsnAnnotation(var1, var2, var3, var4);
+ }
+ return super.visitInsnAnnotation(var1, var2, var3, var4);
+ }
+
+ public void visitTryCatchBlock(Label var1, Label var2, Label var3, String var4)
+ {
+ if (target != null)
+ {
+ target.visitTryCatchBlock(var1, var2, var3, var4);
+ }
+ super.visitTryCatchBlock(var1, var2, var3, var4);
+ }
+
+ public AnnotationVisitor visitTryCatchAnnotation(int var1, TypePath var2, String var3, boolean var4)
+ {
+ if (target != null)
+ {
+ target.visitTryCatchAnnotation(var1, var2, var3, var4);
+ }
+ return super.visitTryCatchAnnotation(var1, var2, var3, var4);
+ }
+
+ public void visitLocalVariable(String var1, String var2, String var3, Label var4, Label var5, int var6)
+ {
+ if (target != null)
+ {
+ target.visitLocalVariable(var1, var2, var3, var4, var5, var6);
+ }
+ super.visitLocalVariable(var1, var2, var3, var4, var5, var6);
+ }
+
+ public AnnotationVisitor visitLocalVariableAnnotation(int var1, TypePath var2, Label[] var3, Label[] var4, int[] var5, String var6, boolean var7)
+ {
+ if (target != null)
+ {
+ target.visitLocalVariableAnnotation(var1, var2, var3, var4, var5, var6, var7);
+ }
+ return super.visitLocalVariableAnnotation(var1, var2, var3, var4, var5, var6, var7);
+ }
+
+ public void visitLineNumber(int var1, Label var2)
+ {
+ if (target != null)
+ {
+ target.visitLineNumber(var1, var2);
+ }
+ super.visitLineNumber(var1, var2);
+ }
+
+ public void visitMaxs(int var1, int var2)
+ {
+ if (target != null)
+ {
+ target.visitMaxs(var1, var2);
+ }
+ super.visitMaxs(var1, var2);
+ }
+
+}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/OverwriteSanityCheck.java b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/OverwriteSanityCheck.java
new file mode 100644
index 0000000000..ff619753de
--- /dev/null
+++ b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/OverwriteSanityCheck.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package net.runelite.client.rs.mixins.transformers;
+
+import lombok.extern.slf4j.Slf4j;
+import net.runelite.client.util.RefUtils;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.tree.ClassNode;
+import org.objectweb.asm.tree.MethodNode;
+
+import java.util.ArrayList;
+
+@Slf4j
+public class OverwriteSanityCheck extends SanityChecker implements Opcodes
+{
+
+ private String className;
+ private ClassNode patchNode;
+ public static final ArrayList methodsUsed = new ArrayList<>();
+
+ public OverwriteSanityCheck(ClassVisitor classVisitor, ClassNode node)
+ {
+ super(ASM6, classVisitor);
+ this.className = node.name;
+ this.patchNode = node;
+ }
+
+ @Override
+ public MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions)
+ {
+ String check = String.format("%s %s %s %s", className, name,
+ descriptor, access);
+
+ MethodNode methodNode = null;
+ for (Object obj2 : patchNode.methods)
+ {
+ MethodNode classMethod = (MethodNode) obj2;
+ if (classMethod.access == access && classMethod.name.equals(name) &&
+ classMethod.desc.equals(descriptor))
+ {
+ methodNode = classMethod;
+ }
+ }
+
+ if(methodNode == null)
+ {
+ log.error("[OverwriteSanity] Failed to find original patch method for {}", check);
+ return super.visitMethod(access, name, descriptor, signature, exceptions);
+ }
+
+ if (!RefUtils.checkAnnotation(methodNode, "Overwrite"))
+ {
+ return super.visitMethod(access, name, descriptor, signature, exceptions);
+ }
+
+ if (!methodsUsed.contains(check))
+ {
+ throw new RuntimeException("[OverwriteSanity] Overwrite target not found: " + check);
+ }
+ return super.visitMethod(access, name, descriptor, signature, exceptions);
+ }
+}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/OverwriteTransformer.java b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/OverwriteTransformer.java
new file mode 100644
index 0000000000..f7c8c09bef
--- /dev/null
+++ b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/OverwriteTransformer.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package net.runelite.client.rs.mixins.transformers;
+
+import lombok.extern.slf4j.Slf4j;
+import net.runelite.client.util.RefUtils;
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.tree.ClassNode;
+import org.objectweb.asm.tree.MethodNode;
+
+@Slf4j
+public class OverwriteTransformer extends ClassVisitor
+{
+
+ private final byte[] patch;
+ private ClassNode node;
+ private String className;
+
+ public OverwriteTransformer(ClassVisitor classVisitor, byte[] patch, ClassNode node)
+ {
+ super(Opcodes.ASM6, classVisitor);
+ this.patch = patch;
+ this.node = node;
+ this.className = node.name;
+ }
+
+ @Override
+ public void visit(int version, int access, String name, String signature, String superName, String[] interfaces)
+ {
+ className = name;
+ super.visit(version, access, name, signature, superName, interfaces);
+ }
+
+ @Override
+ public MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions)
+ {
+ if (patch == null || name.startsWith("1protect$"))
+ {
+ return super.visitMethod(access, name, descriptor, signature, exceptions);
+ }
+
+ if (name.startsWith("prepend$") || name.startsWith("append$"))
+ {
+ return null;
+ }
+
+ ClassReader cr = new ClassReader(patch);
+ ClassNode patchNode = new ClassNode(Opcodes.ASM6);
+ cr.accept(patchNode, 0);
+
+ for (Object obj : patchNode.methods)
+ {
+ MethodNode patchMethod = (MethodNode) obj;
+
+ if (patchMethod.access == access && patchMethod.name.equals(name) && patchMethod.desc.equals(descriptor))
+ {
+ if (RefUtils.checkAnnotation(patchMethod, "Overwrite"))
+ {
+ MethodVisitor mv =
+ new MethodVisitor(Opcodes.ASM6, super.visitMethod(access, name, descriptor, signature,
+ exceptions))
+ {
+ };
+ mv.visitCode();
+ patchMethod.accept(new MethodReflector(mv));
+ mv.visitEnd();
+ String s = String.format("%s %s %s %s", className, patchMethod.name,
+ patchMethod.desc, patchMethod.access);
+ OverwriteSanityCheck.methodsUsed.add(s);
+ return mv;
+ }
+ }
+ }
+ return super.visitMethod(access, name, descriptor, signature, exceptions);
+ }
+}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/PrependTransformer.java b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/PrependTransformer.java
new file mode 100644
index 0000000000..6aedbab699
--- /dev/null
+++ b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/PrependTransformer.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package net.runelite.client.rs.mixins.transformers;
+
+import net.runelite.client.util.RefUtils;
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.tree.AbstractInsnNode;
+import org.objectweb.asm.tree.ClassNode;
+import org.objectweb.asm.tree.InsnNode;
+import org.objectweb.asm.tree.MethodNode;
+
+public class PrependTransformer extends ClassVisitor
+{
+
+ private final byte[] patch;
+ private String className;
+ private ClassNode classNode;
+
+ public PrependTransformer(ClassVisitor classVisitor, byte[] patch, ClassNode node)
+ {
+ super(Opcodes.ASM6, classVisitor);
+ this.patch = patch;
+ this.classNode = node;
+ }
+
+ @Override
+ public void visit(int version, int access, String name, String signature, String superName, String[] interfaces)
+ {
+ className = name;
+ super.visit(version, access, name, signature, superName, interfaces);
+ }
+
+ @Override
+ public MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions)
+ {
+ if (patch == null)
+ {
+ return super.visitMethod(access, name, descriptor, signature, exceptions);
+ }
+ ClassReader cr = new ClassReader(patch);
+ ClassNode patchNode = new ClassNode(Opcodes.ASM6);
+ cr.accept(patchNode, 0);
+ for (Object obj : patchNode.methods)
+ {
+ MethodNode patchMethod = (MethodNode) obj;
+ if ((patchMethod.access == access && patchMethod.name.equals("prepend$" + name) &&
+ patchMethod.desc.equals(descriptor)) &&
+ RefUtils.checkAnnotation(patchMethod, "Prepend"))
+ {
+ MethodVisitor mv =
+ new MethodVisitor(Opcodes.ASM6, super.visitMethod(access, name, descriptor, signature,
+ exceptions))
+ {
+ };
+ mv.visitCode();
+
+ AbstractInsnNode node = patchMethod.instructions.getLast();
+ while (!(node instanceof InsnNode))
+ {
+ node = node.getPrevious();
+ }
+
+ if (RefUtils.isReturn(node.getOpcode()))
+ {
+ patchMethod.instructions.remove(node);
+ }
+
+ patchMethod.accept(new MethodReflector(mv));
+
+ for (Object obj2 : classNode.methods)
+ {
+ MethodNode classMethod = (MethodNode) obj2;
+ if (classMethod.access == access && classMethod.name.equals(name) &&
+ classMethod.desc.equals(descriptor))
+ {
+ classMethod.accept(new MethodReflector(mv));
+ break;
+ }
+ }
+
+ mv.visitEnd();
+ return mv;
+ }
+ }
+ return super.visitMethod(access, name, descriptor, signature, exceptions);
+ }
+
+ @Override
+ public void visitEnd()
+ {
+ if (patch == null)
+ {
+ super.visitEnd();
+ return;
+ }
+ super.visitEnd();
+ }
+
+}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/ProtectTransformer.java b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/ProtectTransformer.java
new file mode 100644
index 0000000000..b3c52b5783
--- /dev/null
+++ b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/ProtectTransformer.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package net.runelite.client.rs.mixins.transformers;
+
+import org.objectweb.asm.commons.Remapper;
+
+public class ProtectTransformer extends Remapper
+{
+
+ public String mapFieldName(String owner, String name, String descriptor)
+ {
+ if (name.startsWith("1protect$"))
+ {
+ name = name.substring("1protect$".length());
+ }
+ return super.mapFieldName(owner, name, descriptor);
+ }
+
+ public String mapMethodName(String owner, String name, String descriptor)
+ {
+ if (name.startsWith("1protect$"))
+ {
+ name = name.substring("1protect$".length());
+ }
+ return super.mapMethodName(owner, name, descriptor);
+ }
+
+}
diff --git a/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/SanityChecker.java b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/SanityChecker.java
new file mode 100644
index 0000000000..f7a5cf1915
--- /dev/null
+++ b/runelite-client/src/main/java/net/runelite/client/rs/mixins/transformers/SanityChecker.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package net.runelite.client.rs.mixins.transformers;
+
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.Opcodes;
+
+public abstract class SanityChecker extends ClassVisitor implements Opcodes
+{
+ protected SanityChecker(int i, ClassVisitor classVisitor)
+ {
+ super(i, classVisitor);
+ }
+
+}
diff --git a/runelite-client/src/main/java/net/runelite/client/util/RefUtils.java b/runelite-client/src/main/java/net/runelite/client/util/RefUtils.java
new file mode 100644
index 0000000000..50733334b9
--- /dev/null
+++ b/runelite-client/src/main/java/net/runelite/client/util/RefUtils.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package net.runelite.client.util;
+
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.tree.AnnotationNode;
+import org.objectweb.asm.tree.FieldNode;
+import org.objectweb.asm.tree.MethodNode;
+
+public class RefUtils implements Opcodes
+{
+
+ private static final String TYPE_PREFIX = "us/runelitepl/mixinprocessor/annotations/";
+
+ public static boolean isReturn(int opcode, boolean checkType)
+ {
+ return (opcode == RETURN && !checkType) || opcode == IRETURN || opcode == LRETURN || opcode == DRETURN ||
+ opcode == ARETURN || opcode == FRETURN;
+ }
+
+ public static boolean isReturn(int opcode)
+ {
+ return isReturn(opcode, false);
+ }
+
+ public static boolean checkAnnotation(MethodNode method, String annotation)
+ {
+ if (method.visibleAnnotations != null)
+ {
+ for (Object obj : method.visibleAnnotations)
+ {
+ if (((AnnotationNode) obj).desc.equals(makeAnnotationDesc(annotation)))
+ {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ public static boolean checkAnnotation(FieldNode field, String annotation)
+ {
+ if (field.visibleAnnotations != null)
+ {
+ for (Object obj : field.visibleAnnotations)
+ {
+ if (((AnnotationNode) obj).desc.equals(makeAnnotationDesc(annotation)))
+ {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ public static String makeAnnotationDesc(String annot)
+ {
+ return "L" + TYPE_PREFIX + annot + ";";
+ }
+
+}
diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java
index d3dca84a44..1f2ffc03e7 100644
--- a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java
+++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java
@@ -975,5 +975,11 @@ public interface RSClient extends RSGameEngine, Client
@Import("renderSelf")
void toggleRenderSelf();
+
+ @Import("mouseRecorder")
+ RSMouseRecorder getMouseRecorder();
+
+ @Import("printMenuActions")
+ void setPrintMenuActions(boolean b);
}
diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSMouseRecorder.java b/runescape-api/src/main/java/net/runelite/rs/api/RSMouseRecorder.java
new file mode 100644
index 0000000000..8cbbe545f7
--- /dev/null
+++ b/runescape-api/src/main/java/net/runelite/rs/api/RSMouseRecorder.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2019, ThatGamerBlue
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package net.runelite.rs.api;
+
+import net.runelite.api.MouseRecorder;
+import net.runelite.mapping.Import;
+
+public interface RSMouseRecorder extends MouseRecorder
+{
+
+ @Import("xs")
+ int[] getXs();
+
+ @Import("ys")
+ int[] getYs();
+
+ @Import("millis")
+ long[] getMillis();
+
+ @Import("index")
+ int getIndex();
+
+}