parameters = parseParameters(paramerterString);
DemangledFunctionPointer dfp = new DemangledFunctionPointer();
dfp.setReturnType(parseDataType(returnType));
for (DemangledDataType parameter : parameters) {
dfp.addParameter(parameter);
}
-
- dfp.setDisplayFunctionPointerParens(false);
return dfp;
}
@@ -1315,19 +994,45 @@ public class GnuDemanglerParser {
*/
String nameString = fixupInternalSeparators(demangled).trim();
- boolean inNamespace = nameString.contains(NAMESPACE_DELIMITER);
- if (!inNamespace) {
- int nameSeparator = nameString.lastIndexOf(' ');
- if (nameSeparator != -1) {
- nameString = nameString.substring(0, nameSeparator);
- }
- }
-
DemangledVariable variable = new DemangledVariable((String) null);
setNameAndNamespace(variable, nameString);
return variable;
}
+ /**
+ * Converts the list of names into a namespace demangled type.
+ * Given names = { "A", "B", "C" }, which represents "A::B::C".
+ * The following will be created {@literal "Namespace{A}->Namespace{B}->Namespace{C}"}
+ * and Namespace{C} will be returned.
+ *
+ * This method will also escape spaces and namespace separators inside of templates
+ * (see {@link #fixupInternalSeparators(String)}).
+ *
+ * @param names the names to convert
+ * @return the newly created type
+ */
+ private DemangledType convertToNamespaces(List names) {
+ if (names.size() == 0) {
+ return null;
+ }
+ int index = names.size() - 1;
+ String rawName = names.get(index);
+ String escapedName = fixupInternalSeparators(rawName);
+ DemangledType myNamespace = new DemangledType(escapedName);
+ myNamespace.setOriginalDemangled(rawName);
+
+ DemangledType namespace = myNamespace;
+ while (--index >= 0) {
+ rawName = names.get(index);
+ escapedName = fixupInternalSeparators(rawName);
+ DemangledType parentNamespace = new DemangledType(escapedName);
+ myNamespace.setOriginalDemangled(rawName);
+ namespace.setNamespace(parentNamespace);
+ namespace = parentNamespace;
+ }
+ return myNamespace;
+ }
+
//==================================================================================================
// Inner Classes
//==================================================================================================
@@ -1337,11 +1042,77 @@ public class GnuDemanglerParser {
protected String demangled;
protected String prefix;
protected String name;
- protected String parent;
+ protected String type;
- abstract String getParent();
+ abstract String getType();
abstract DemangledObject build(Demangled namespace);
+
+ @Override
+ public String toString() {
+ ToStringBuilder builder = new ToStringBuilder(this, ToStringStyle.JSON_STYLE);
+ return builder
+ .append("name", name)
+ .append("prefix", prefix)
+ .append("type", type)
+ .append("demangled", demangled)
+ .toString();
+ }
+ }
+
+ private class ItemInNamespaceHandler extends SpecialPrefixHandler {
+
+ ItemInNamespaceHandler(String demangled) {
+ this.demangled = demangled;
+ this.type = demangled;
+ }
+
+ ItemInNamespaceHandler(String demangled, String prefix, String item) {
+ this.demangled = demangled;
+ this.prefix = prefix;
+ this.type = item;
+ }
+
+ @Override
+ String getType() {
+ return type;
+ }
+
+ @Override
+ DemangledObject build(Demangled namespace) {
+ DemangledObject demangledObject = parseItemInNamespace(type);
+ return demangledObject;
+ }
+ }
+
+ private class ThunkHandler extends SpecialPrefixHandler {
+
+ ThunkHandler(String demangled, String prefix, String item) {
+ this.demangled = demangled;
+ this.prefix = prefix;
+ this.type = item;
+ }
+
+ @Override
+ String getType() {
+ return type;
+ }
+
+ @Override
+ DemangledObject build(Demangled demangledObject) {
+
+ DemangledFunction function = (DemangledFunction) demangledObject;
+ function.setSignature(type);
+ function.setCallingConvention(CompilerSpec.CALLING_CONVENTION_thiscall);
+
+ DemangledThunk thunk = new DemangledThunk(function);
+ if (prefix.contains(COVARIANT_RETURN_THUNK)) {
+ thunk.setCovariantReturnThunk();
+ }
+
+ thunk.setSignaturePrefix(prefix);
+ return thunk;
+ }
}
private class TypeInfoNameHandler extends SpecialPrefixHandler {
@@ -1352,32 +1123,42 @@ public class GnuDemanglerParser {
}
@Override
- String getParent() {
+ String getType() {
String classname = demangled.substring(prefix.length()).trim();
- parent = classname;
- return parent;
+ type = classname;
+ return type;
}
@Override
DemangledObject build(Demangled namespace) {
DemangledString demangledString =
- new DemangledString("typeinfo-name", parent, -1/*unknown length*/, false);
- demangledString.setSpecialPrefix("typeinfo name");
- demangledString.setUtilDemangled(demangled);
- setNamespace(demangledString, parent);
+ new DemangledString("typeinfo-name", type, -1/*unknown length*/, false);
+ demangledString.setSpecialPrefix("typeinfo name for ");
+ String namespaceString = fixupInternalSeparators(type);
+ setNamespace(demangledString, namespaceString);
return demangledString;
}
}
private class AddressTableHandler extends SpecialPrefixHandler {
- AddressTableHandler(String demangled, String prefix) {
+ AddressTableHandler(String demangled, String prefix, String type) {
this.demangled = demangled;
this.prefix = prefix;
+ this.type = type;
+
+ Matcher matcher = ENDS_WITH_DIGITS_PATTERN.matcher(demangled);
+ if (matcher.matches()) {
+ // ends with a number, strip it off
+ int oldLength = demangled.length();
+ this.demangled = matcher.group(1);
+ int delta = oldLength - this.demangled.length();
+ this.type = type.substring(0, type.length() - delta);
+ }
}
@Override
- String getParent() {
+ String getType() {
/*
Samples:
@@ -1393,36 +1174,19 @@ public class GnuDemanglerParser {
prefix: covariant return thunk
name: covariant-return
*/
-
- // TODO can we replace the below with something simpler?
int pos = prefix.trim().lastIndexOf(' ');
name = prefix.substring(0, pos).replace(' ', '-');
- parent = demangled.substring(prefix.length()).trim();
- return parent;
+ return type;
}
@Override
- DemangledObject build(Demangled demangledParent) {
- Demangled namespace = demangledParent;
+ DemangledObject build(Demangled namespace) {
DemangledAddressTable addressTable = new DemangledAddressTable(name, true);
addressTable.setNamespace(namespace);
return addressTable;
}
}
- private class ConstructionVTableHandler extends AddressTableHandler {
-
- ConstructionVTableHandler(String demangled, String prefix) {
- super(demangled, prefix);
-
- Matcher matcher = ENDS_WITH_DIGITS_PATTERN.matcher(demangled);
- if (matcher.matches()) {
- // ends with a number, strip it off
- this.demangled = matcher.group(1);
- }
- }
- }
-
private abstract class OperatorHandler {
protected Matcher matcher;
@@ -1457,162 +1221,30 @@ public class GnuDemanglerParser {
// prefix: return_type operator operator_chars[templates]
// (everything before the parameters)
String operatorPrefix = matcher.group(1);
- String operatorChars = matcher.group(2);
+ //String operatorChars = matcher.group(2);
String parametersText = matcher.group(3);
- String trailing = matcher.group(4);
-
- int index = operatorPrefix.indexOf("operator");
-
- /*
- TODO
- TODO this is similar to the main algo that replaces template spaces before
- scanning for the name space; use that
- TODO
-
- */
+ //String trailing = matcher.group(4);
String returnTypeText = "undefined";
String operatorName = operatorPrefix;
- GroupScanner scanner = new GroupScanner(operatorPrefix, index);
- scanner.setIgnoreTemplates(true); // TODO turn on by default?
- int splitSpace = scanner.previous(' ');
- if (splitSpace != -1) {
- returnTypeText = operatorPrefix.substring(0, splitSpace);
- operatorName = operatorPrefix.substring(splitSpace + 1);
- }
-
- DemangledDataType returnType = new DemangledDataType((String) null);
+ operatorPrefix = fixupInternalSeparators(operatorPrefix);
returnTypeText = fixupInternalSeparators(returnTypeText);
- // TODO be better at detecting attributes; find examples
- if (returnTypeText.endsWith("&")) {
- returnTypeText = returnTypeText.substring(0, returnTypeText.length() - 1);
- returnType.setReference();
- }
- setNameAndNamespace(returnType, returnTypeText);
+ DemangledDataType returnType = createTypeInNamespace(returnTypeText);
- DemangledMethod method = new DemangledMethod((String) null);
- method.setOverloadedOperator(true);
- method.setReturnType(returnType);
+ DemangledFunction function = new DemangledFunction((String) null);
+ function.setOverloadedOperator(true);
+ function.setReturnType(returnType);
operatorName = fixupInternalSeparators(operatorName);
- setNameAndNamespace(method, operatorName);
+ setNameAndNamespace(function, operatorName);
List parameters = parseParameters(parametersText);
for (DemangledDataType parameter : parameters) {
- method.addParameter(parameter);
+ function.addParameter(parameter);
}
- // TODO do we need to specify a custom signature?
- // method.setSignature(operatorText + " " + operatorName);
-
- return method;
- }
- }
-
- private class GroupScanner {
-
- private String text;
- private boolean ignoreParens;
- private boolean ignoreTemplates;
-
- private int length;
- private int index;
- private int ignoreCount = 0; // templates and parameters
-
- GroupScanner(String text) {
- this.text = text;
- this.length = text.length();
- }
-
- GroupScanner(String text, int index) {
- this.text = text;
- this.length = text.length();
- this.index = index;
- }
-
- void setIgnoreTemplates(boolean b) {
- this.ignoreTemplates = b;
- }
-
- void setIgnoreParens(boolean b) {
- this.ignoreParens = b;
- }
-
- char peek() {
- return text.charAt(index);
- }
-
- int next(char toFind) {
- for (; index < length; index++) {
- char c = text.charAt(index);
-
- if (ignoreTemplates && c == '<') {
- ignoreCount++;
- continue;
- }
-
- if (ignoreParens && c == '(') {
- ignoreCount++;
- continue;
- }
-
- if (ignoreTemplates && c == '>') {
- ignoreCount--;
- continue;
- }
-
- if (ignoreParens && c == ')') {
- ignoreCount--;
- continue;
- }
-
- if (ignoreCount != 0) {
- continue;
- }
-
- if (c == toFind) {
- return index++;
- }
- }
-
- return -1;
- }
-
- int previous(char toFind) {
- for (; index >= 0; index--) {
- char c = text.charAt(index);
-
- if (ignoreTemplates && c == '>') {
- ignoreCount++;
- continue;
- }
-
- if (ignoreParens && c == ')') {
- ignoreCount++;
- continue;
- }
-
- if (ignoreTemplates && c == '<') {
- ignoreCount--;
- continue;
- }
-
- if (ignoreParens && c == '(') {
- ignoreCount--;
- continue;
- }
-
- if (ignoreCount != 0) {
- continue;
- }
-
- if (c == toFind) {
- return index--;
- }
- }
-
- return -1;
+ return function;
}
}
@@ -1626,7 +1258,52 @@ public class GnuDemanglerParser {
@Override
DemangledObject build() {
- return parseConversionOperator(matcher);
+
+ // this will yield:
+ // fullName: NS1::Foo::operator
+ // fullReturnType: std::string
+ String fullName = matcher.group(1);// group 0 is the entire match string
+ String fullReturnType = matcher.group(2);
+
+ boolean isConst = false;
+ int index = fullReturnType.indexOf(CONST_KEYWORD);
+ if (index != -1) {
+ fullReturnType = fullReturnType.replace(CONST_KEYWORD, "");
+ isConst = true;
+ }
+
+ DemangledFunction method = new DemangledFunction((String) null);
+ DemangledDataType returnType = parseDataType(fullReturnType);
+ if (isConst) {
+ returnType.setConst();
+ }
+ method.setReturnType(returnType);
+
+ // 'conversion operator' syntax is 'operator ()'
+ // assume fullName endsWith '::operator'
+ int operatorIndex = fullName.lastIndexOf("::operator");
+ String namespace = fullName.substring(0, operatorIndex);
+
+ String templatelessNamespace = stripOffTemplates(namespace);
+ setNamespace(method, templatelessNamespace);
+
+ // shortReturnType: string
+ String templatelessReturnType = stripOffTemplates(fullReturnType);
+ SymbolPath path = new SymbolPath(templatelessReturnType);
+ String shortReturnTypeName = path.getName();
+
+ //
+ // The preferred name: 'operator basic_string()'
+ //
+ // Ghidra does not allow spaces in the name or extra parens. So, make a name that is
+ // as clear as possible in describing the construct.
+ //
+ method.setName("operator.cast.to." + shortReturnTypeName);
+
+ method.setSignature(fullName + " " + fullReturnType);
+ method.setOverloadedOperator(true);
+
+ return method;
}
}
@@ -1640,29 +1317,69 @@ public class GnuDemanglerParser {
@Override
DemangledObject build() {
- return parseNewOrDeleteOperator(matcher);
+
+ String operatorText = matcher.group(1);// group 0 is the entire match string
+ String operatorName = matcher.group(2);
+ String arrayBrackets = matcher.group(3);
+ String parametersText = matcher.group(4);
+
+ DemangledFunction function = new DemangledFunction((String) null);
+ function.setOverloadedOperator(true);
+ DemangledDataType returnType = new DemangledDataType("void");
+ if (operatorName.startsWith("new")) {
+ returnType.incrementPointerLevels();
+ }
+
+ function.setReturnType(returnType);
+
+ // 'new operator' syntax is 'operator ()', where the
+ // operator itself could be in a class namespace
+ setNameAndNamespace(function, operatorText);
+
+ List parameters = parseParameters(parametersText);
+ for (DemangledDataType parameter : parameters) {
+ function.addParameter(parameter);
+ }
+
+ //
+ // The preferred name: 'operator new()'
+ //
+ // Ghidra does not allow spaces in the name or extra parens. So, make a name that is
+ // as clear as possible in describing the construct.
+ //
+ String name = operatorName;
+ if (arrayBrackets != null) {
+ name += "[]";
+ }
+ function.setName("operator." + name);
+
+ function.setSignature(operatorText + " " + operatorName);
+
+ return function;
}
}
private class ParameterLocator {
int paramStart = -1;
int paramEnd = -1;
+ private String text;
ParameterLocator(String text) {
+ this.text = text;
paramEnd = text.lastIndexOf(')');
if (paramEnd < 0) {
return;
}
- if (isContainedWithinNamespace(text)) {
+ if (isContainedWithinNamespace()) {
// ignore param list associated with namespace specification
paramEnd = -1;
return;
}
paramStart = findParameterStart(text, paramEnd);
- int templateEnd = findInitialTemplateEndPosition(text);
+ int templateEnd = findTemplateEnd(text, 0);
int templateStart = -1;
if (templateEnd != -1) {
- templateStart = findInitialTemplateStartPosition(text, templateEnd);
+ templateStart = findMatchingTemplateStart(text, templateEnd);
}
if (paramStart > templateStart && paramStart < templateEnd) {
// ignore parentheses inside of templates (they are cast operators)
@@ -1671,7 +1388,17 @@ public class GnuDemanglerParser {
}
}
- private boolean isContainedWithinNamespace(String text) {
+ @Override
+ public String toString() {
+ ToStringBuilder builder = new ToStringBuilder(this, ToStringStyle.JSON_STYLE);
+ return builder
+ .append("texf", text)
+ .append("paramStart", paramStart)
+ .append("paramEnd", paramEnd)
+ .toString();
+ }
+
+ private boolean isContainedWithinNamespace() {
return (paramEnd < (text.length() - 1)) && (':' == text.charAt(paramEnd + 1));
}
@@ -1687,75 +1414,24 @@ public class GnuDemanglerParser {
return paramStart != -1 && paramEnd != -1;
}
+ // walks backwards to find the start of the parameter list
private int findParameterStart(String demangled, int end) {
- int templateLevel = 0;
- int functionPointerLevel = 0;
+
+ int depth = 0;
for (int i = end - 1; i >= 0; --i) {
char ch = demangled.charAt(i);
- if (ch == '(' && templateLevel == 0 && functionPointerLevel == 0) {
+ if (ch == '(' && depth == 0) {
return i;
}
- else if (ch == '>') {
- ++templateLevel;
+ else if (ch == '>' || ch == ')') {
+ ++depth;
}
- else if (ch == '<') {
- --templateLevel;
- }
- else if (ch == ')') {
- ++functionPointerLevel;
- }
- else if (ch == '(') {
- --functionPointerLevel;
+ else if (ch == '<' || ch == '(') {
+ depth--;
}
}
return -1;
}
-
- private int findInitialTemplateEndPosition(String string) {
-
- boolean seenTemplate = false;
- int templateLevel = 0;
- char[] chars = string.toCharArray();
- for (int i = 0; i < chars.length; i++) {
- switch (chars[i]) {
- case '<':
- templateLevel++;
- seenTemplate = true;
- break;
- case '>':
- templateLevel--;
- break;
- }
-
- if (seenTemplate && templateLevel == 0) {
- return i;
- }
- }
-
- return -1;
- }
-
- private int findInitialTemplateStartPosition(String string, int templateEnd) {
- // note: we are moving backwards!
- int templateLevel = 1;
- char[] chars = string.toCharArray();
- for (int i = templateEnd - 1; i >= 0; i--) {
- switch (chars[i]) {
- case '<':
- templateLevel--;
- break;
- case '>':
- templateLevel++;
- break;
- }
-
- if (templateLevel == 0) {
- return i;// found our opening tag
- }
- }
-
- return -1;
- }
}
private class LambdaName {
@@ -1770,21 +1446,18 @@ public class GnuDemanglerParser {
this.trailing = trailing;
}
- String getNameWithId() {
- return LAMBDA + trailing;
- }
-
String getFullText() {
return fullText;
}
- String getParams() {
- return params;
+ @Override
+ public String toString() {
+ ToStringBuilder builder = new ToStringBuilder(this, ToStringStyle.JSON_STYLE);
+ return builder
+ .append("fullText", fullText)
+ .append("params", params)
+ .append("trailing", trailing)
+ .toString();
}
-
- String getTrailing() {
- return trailing;
- }
-
}
}
diff --git a/Ghidra/Features/GnuDemangler/src/test/java/ghidra/app/util/demangler/GnuDemanglerParserTest.java b/Ghidra/Features/GnuDemangler/src/test/java/ghidra/app/util/demangler/GnuDemanglerParserTest.java
index 92ef9de8ce..05f471333a 100644
--- a/Ghidra/Features/GnuDemangler/src/test/java/ghidra/app/util/demangler/GnuDemanglerParserTest.java
+++ b/Ghidra/Features/GnuDemangler/src/test/java/ghidra/app/util/demangler/GnuDemanglerParserTest.java
@@ -17,7 +17,6 @@ package ghidra.app.util.demangler;
import static org.junit.Assert.*;
-import java.io.IOException;
import java.util.List;
import org.junit.Before;
@@ -35,46 +34,12 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
public void setUp() throws Exception {
process = GnuDemanglerNativeProcess
.getDemanglerNativeProcess(GnuDemanglerOptions.GNU_DEMANGLER_V2_33_1);
- parser = new GnuDemanglerParser(process);
- }
-
- @Test
- public void test() throws Exception {
- long start = System.currentTimeMillis();
-
- demangle("_ZTVN6Magick21DrawableTextAntialiasE");
- demangle("_ZGVZN10KDirLister11emitChangesEvE3dot");//guard variables
-
- demangle("_ZZ18__gthread_active_pvE20__gthread_active_ptr");
-
- demangle("_ZNSt10_List_baseIN6Magick5VPathESaIS1_EE5clearEv");
- demangle("_ZTISt14unary_functionIPN9MagickLib12_DrawContextEvE");
- demangle("_ZTSSt14unary_functionIPN9MagickLib12_DrawContextEvE");
- demangle("_ZTCN4Arts17StdoutWriter_implE68_NS_11Object_skelE");
- demangle("_ZN6Magick5ImageD1Ev");
- demangle(
- "_ZN6Magick19matteFloodfillImageC2ERKNS_5ColorEjiiN9MagickLib11PaintMethodE");
- demangle("_ZThn8_N14nsPrintSession6AddRefEv");// non-virtual thunk
- demangle(
- "_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcE14pool_allocatorIcEED0Ev");// virtual thunk
- demangle("_ZTch0_h16_NK8KHotKeys13WindowTrigger4copyEPNS_10ActionDataE");// covariant return thunk
-
- demangle("_ZNK2cc14ScrollSnapTypeneERKS0_");
-
- List list = loadTextResource(GnuDemanglerParserTest.class, "libMagick.symbols.txt");
- for (String mangled : list) {
- if (mangled == null) {
- break;
- }
- demangle(mangled);
- }
-
- System.out.println("Elapsed Time: " + (System.currentTimeMillis() - start));
+ parser = new GnuDemanglerParser();
}
@Test
public void testOverloadedShiftOperatorParsingBug() {
- parser = new GnuDemanglerParser(null);
+ parser = new GnuDemanglerParser();
DemangledObject object = parser.parse(null,
"std::basic_istream >& " +
"std::operator>> >" +
@@ -84,75 +49,44 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
}
@Test
- public void testParsing() throws Exception {
+ public void testParse_CastInTemplates() throws Exception {
- DemangledObject parse = parser.parse(null, "__gthread_active_p()::__gthread_active_ptr");
- assertTrue(parse instanceof DemangledVariable);
- assertName(parse, "__gthread_active_ptr", "__gthread_active_p()");
+ String demangled =
+ "std::__default_alloc_template<(bool)1, (int)0>::allocate(unsigned)";
+ DemangledObject object = parser.parse("fake", demangled);
+ assertType(object, DemangledFunction.class);
+ assertName(object, "allocate", "std", "__default_alloc_template<(bool)1,(int)0>");
- parse = parser.parse(null, "typeinfo name for Magick::Blob");
- assertTrue(parse instanceof DemangledString);
- assertEquals("Magick::Blob", ((DemangledString) parse).getString());
- assertName(parse, "typeinfo-name", "Magick", "Blob");
+ assertEquals(
+ "undefined std::__default_alloc_template<(bool)1,(int)0>::allocate(unsigned)",
+ object.getSignature(false));
+ }
- parse = parser.parse(null, "Bob::operator_new[](float, double, Bob::Fred &)");
- assertTrue(parse instanceof DemangledMethod);
- assertName(parse, "operator_new[]", "Bob");
+ @Test
+ public void testParse_CastInTemplates_WithNegativeNumber() throws Exception {
- parse = parser.parse(null,
- "Magick::pageImage::operator()(Magick::pageImage::Image::abc&) const");
- assertTrue(parse instanceof DemangledMethod);
- assertName(parse, "operator()", "Magick", "pageImage");
+ String demangled =
+ "A::B::C::Foo::Foo(A::B::Bar*, A::B::C::Foo*)";
+ DemangledObject object = parser.parse("fake", demangled);
+ assertType(object, DemangledFunction.class);
+ assertName(object, "Foo", "A", "B", "C", "Foo");
- parse = parser.parse(null,
- "std::__default_alloc_template<(bool)1, (int)0>::allocate(unsigned)");
- assertTrue(parse instanceof DemangledMethod);
- assertName(parse, "allocate", "std", "__default_alloc_template<(bool)1,(int)0>");
+ assertEquals(
+ "undefined A::B::C::Foo::Foo(A::B::Bar *,A::B::C::Foo *)",
+ object.getSignature(false));
+ }
- parse = parser.parse(null,
- "XpsMap::XpsMap(unsigned long (*)(long const &), unsigned long, unsigned long, float)");
- assertTrue(parse instanceof DemangledMethod);
- assertName(parse, "XpsMap", "XpsMap");
+ @Test
+ public void testParse_MultiDimensionalArray() throws Exception {
- parse = parser.parse(null, "Bar::Foo::getX(float)");
- assertTrue(parse instanceof DemangledMethod);
- assertName(parse, "getX", "Bar", "Foo");
-
- parse = parser.parse(null, "toChar(int)");
- assertTrue(parse instanceof DemangledMethod);
- assertName(parse, "toChar");
-
- parse = parser.parse(null, "toFloat(int, double, char, long, short)");
- assertTrue(parse instanceof DemangledMethod);
- assertName(parse, "toFloat");
-
- parse = parser.parse(null, "toFloat(int**, double**, char**, long**, short**)");
- assertTrue(parse instanceof DemangledMethod);
- assertName(parse, "toFloat");
-
- parse = parser.parse(null, "Foo::operator<<(int)");
- assertTrue(parse instanceof DemangledMethod);
- assertName(parse, "operator<<", "Foo");
-
- parse = parser.parse(null, "Foo::getX(Bob::Fred,double, Martha)");
- assertTrue(parse instanceof DemangledMethod);
-
- parse = parser.parse("_ZThn8_N14nsPrintSession14QueryInterfaceERK4nsIDPPv",
- "non-virtual thunk [nv:-8] to nsPrintSession::QueryInterface(nsID const&, void**)");
- assertTrue(parse instanceof DemangledThunk);
- assertName(parse, "QueryInterface", "nsPrintSession");
-
- parse = parser.parse(
- "_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcE14pool_allocatorIcEED1Ev",
- "virtual thunk [v:0,-24] to std::basic_ostringstream, pool_allocator >::~basic_ostringstream [in-charge]()");
- assertTrue(parse instanceof DemangledThunk);
- assertName(parse, "~basic_ostringstream", "std",
- "basic_ostringstream,pool_allocator>");
-
- parse = parser.parse("_ZTch0_h16_NK8KHotKeys13WindowTrigger4copyEPNS_10ActionDataE",
- "covariant return thunk [nv:0] [nv:16] to KHotKeys::WindowTrigger::copy(KHotKeys::ActionData*) const");
- assertTrue(parse instanceof DemangledThunk);
- assertName(parse, "copy", "KHotKeys", "WindowTrigger");
+ DemangledObject object = parser.parse("fake",
+ "Layout::graphNew(short[][][][], char*)");
+ assertType(object, DemangledFunction.class);
+ DemangledFunction function = (DemangledFunction) object;
+ List parameters = function.getParameters();
+ assertEquals(2, parameters.size());
+ DemangledDataType p1 = parameters.get(0);
+ assertEquals(4, p1.getArrayDimensions());
}
@Test
@@ -162,7 +96,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertEquals("undefined glob_fn9(" +
"char,int,long,long long,unsigned int,unsigned long,float,double,long double,bool,void *,void * *)",
@@ -179,7 +113,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledMethod);
+ assertType(object, DemangledFunction.class);
assertName(object, "XpsMap", "XpsMap");
assertEquals(
@@ -187,48 +121,60 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
"unsigned long ()(long const &),unsigned long,unsigned long,float)",
object.getSignature(false));
- DemangledMethod method = (DemangledMethod) object;
+ DemangledFunction method = (DemangledFunction) object;
List parameters = method.getParameters();
assertEquals(4, parameters.size());
- assertEquals("unsigned long ()(long const &)", parameters.get(0).toSignature());
- assertEquals("unsigned long", parameters.get(1).toSignature());
- assertEquals("unsigned long", parameters.get(2).toSignature());
- assertEquals("float", parameters.get(3).toSignature());
+ assertEquals("unsigned long ()(long const &)", parameters.get(0).getSignature());
+ assertEquals("unsigned long", parameters.get(1).getSignature());
+ assertEquals("unsigned long", parameters.get(2).getSignature());
+ assertEquals("float", parameters.get(3).getSignature());
}
@Test
- public void testTemplates() throws Exception {
+ public void testTemplates_TemplatedType() throws Exception {
String mangled =
"_ZNKSt8_Rb_treeI8LocationS0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE4findERKS0_";
-
String demangled = process.demangle(mangled);
+ assertEquals(
+ "std" +
+ "::" +
+ "_Rb_tree, std::less, std::allocator >" +
+ "::" +
+ "find(Location const&) const",
+ demangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledMethod);
+ assertType(object, DemangledFunction.class);
assertName(object, "find", "std",
"_Rb_tree,std--less,std--allocator>");
- DemangledMethod method = (DemangledMethod) object;
- List parameters = method.getParameters();
+ DemangledFunction function = (DemangledFunction) object;
+ List parameters = function.getParameters();
assertEquals(1, parameters.size());
- assertEquals("Location const &", parameters.get(0).toSignature());
+ assertEquals("Location const &", parameters.get(0).getSignature());
+ }
- mangled =
+ @Test
+ public void testTemplates_TemplatedInsertionSort() throws Exception {
+
+ String mangled =
"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPSt4pairImP7PcodeOpESt6vectorIS5_SaIS5_EEEEPFbRKS5_SC_EEvT_SF_T0_";
- demangled = process.demangle(mangled);
- object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledMethod);
+ String demangled = process.demangle(mangled);
+ assertEquals(
+ "void std::__insertion_sort<__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, bool (*)(std::pair const&, std::pair const&)>(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, bool (*)(std::pair const&, std::pair const&))",
+ demangled);
+ DemangledObject object = parser.parse(mangled, demangled);
+ assertType(object, DemangledFunction.class);
- method = (DemangledMethod) object;
- parameters = method.getParameters();
+ DemangledFunction function = (DemangledFunction) object;
+ List parameters = function.getParameters();
assertEquals(
"__insertion_sort<__gnu_cxx--__normal_iterator*,std--vector,std--allocator>>>,bool(*)(std--pairconst&,std--pairconst&)>",
- method.getName());
- assertEquals("std", method.getNamespace().getName());
+ function.getName());
+ assertEquals("std", function.getNamespace().getName());
- // TODO: in the original, it was "bool (*)...." now is "bool ()" it still comes out as a function pointer
assertEquals(
"__gnu_cxx::__normal_iterator *,std::vector,std::allocator>>>",
parameters.get(0).toString());
@@ -239,7 +185,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
"bool ()(std::pair const &,std::pair const &)",
parameters.get(2).toString());
- assertTrue(parameters.get(2) instanceof DemangledFunctionPointer);
+ assertType(parameters.get(2), DemangledFunctionPointer.class);
DemangledFunctionPointer fptr = (DemangledFunctionPointer) parameters.get(2);
@@ -254,17 +200,17 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledMethod);
+ assertType(object, DemangledFunction.class);
assertName(object, "insert", "std",
"set,std--allocator>");
- DemangledMethod method = (DemangledMethod) object;
+ DemangledFunction method = (DemangledFunction) object;
assertEquals(
"undefined std::set,std--allocator>::insert(bbnode const * &)",
method.getSignature(false));
List parameters = method.getParameters();
assertEquals(1, parameters.size());
- assertEquals("bbnode const * &", parameters.get(0).toSignature());
+ assertEquals("bbnode const * &", parameters.get(0).getSignature());
}
@Test
@@ -274,33 +220,140 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledMethod);
+ assertType(object, DemangledFunction.class);
assertName(object, "Fred", "Bar", "Fred");
- DemangledMethod method = (DemangledMethod) object;
+ DemangledFunction method = (DemangledFunction) object;
assertEquals("undefined Bar::Fred::Fred(int)", method.getSignature(false));
List parameters = method.getParameters();
assertEquals(1, parameters.size());
- assertEquals("int", parameters.get(0).toSignature());
+ assertEquals("int", parameters.get(0).getSignature());
}
@Test
- public void testMethods() throws Exception {
+ public void testDestructor() throws Exception {
+
+ String mangled = "_ZN6Magick5ImageD1Ev";
+ String demangled = process.demangle(mangled);
+ assertEquals("Magick::Image::~Image()", demangled);
+
+ DemangledObject object = parser.parse(mangled, demangled);
+ assertType(object, DemangledFunction.class);
+ assertName(object, "~Image", "Magick", "Image");
+
+ assertEquals("undefined Magick::Image::~Image(void)", object.getSignature(false));
+ }
+
+ @Test
+ public void testThunk_Virtual() throws Exception {
+
+ String mangled =
+ "_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcE14pool_allocatorIcEED0Ev";
+ String demangled = process.demangle(mangled);
+ assertEquals(
+ "virtual thunk to std::basic_ostringstream, pool_allocator >::~basic_ostringstream()",
+ demangled);
+
+ DemangledObject object = parser.parse(mangled, demangled);
+ assertType(object, DemangledThunk.class);
+ assertName(object, "~basic_ostringstream", "std",
+ "basic_ostringstream,pool_allocator>");
+
+ assertEquals(
+ "virtual thunk to undefined __thiscall std::basic_ostringstream,pool_allocator>::~basic_ostringstream(void)",
+ object.getSignature(false));
+ }
+
+ @Test
+ public void testThunk_NonVirtual() throws Exception {
+
+ String mangled =
+ "_ZThn8_N14nsPrintSession6AddRefEv";
+ String demangled = process.demangle(mangled);
+ assertEquals("non-virtual thunk to nsPrintSession::AddRef()", demangled);
+
+ DemangledObject object = parser.parse(mangled, demangled);
+ assertType(object, DemangledThunk.class);
+ assertName(object, "AddRef", "nsPrintSession");
+
+ assertEquals("non-virtual thunk to undefined __thiscall nsPrintSession::AddRef(void)",
+ object.getSignature(false));
+ }
+
+ @Test
+ public void testParse_Thunk_NonVirtual_WithExtraInfo() throws Exception {
+
+ String mangled =
+ "_ZThn8_N14nsPrintSession14QueryInterfaceERK4nsIDPPv";
+
+ // this is an older format
+ String demangled =
+ "non-virtual thunk [nv:-8] to nsPrintSession::QueryInterface(nsID const&, void**)";
+ DemangledObject object = parser.parse(mangled, demangled);
+ assertType(object, DemangledThunk.class);
+ assertName(object, "QueryInterface", "nsPrintSession");
+
+ // for now we preserve the extra stuff between 'thunk' and 'to' in the signature
+ assertEquals(
+ "non-virtual thunk [nv:-8] to undefined __thiscall nsPrintSession::QueryInterface(nsID const &,void * *)",
+ object.getSignature(false));
+ }
+
+ @Test
+ public void testThunk_CovariantReturn() throws Exception {
+
+ String mangled =
+ "_ZTch0_h16_NK8KHotKeys13WindowTrigger4copyEPNS_10ActionDataE";
+ String demangled = process.demangle(mangled);
+ assertEquals(
+ "covariant return thunk to KHotKeys::WindowTrigger::copy(KHotKeys::ActionData*) const",
+ demangled);
+
+ DemangledObject object = parser.parse(mangled, demangled);
+ assertType(object, DemangledThunk.class);
+ assertName(object, "copy", "KHotKeys", "WindowTrigger");
+
+ assertEquals(
+ "covariant return thunk to undefined __thiscall KHotKeys::WindowTrigger::copy(KHotKeys::ActionData *)",
+ object.getSignature(false));
+ }
+
+ @Test
+ public void testParse_Thunk_testThunk_CovariantReturn_WithExtraInfo() throws Exception {
+
+ String mangled =
+ "_ZTch0_h16_NK8KHotKeys13WindowTrigger4copyEPNS_10ActionDataE";
+
+ // this is an older format
+ String demangled =
+ "covariant return thunk [nv:0] [nv:16] to KHotKeys::WindowTrigger::copy(KHotKeys::ActionData*) const";
+ DemangledObject object = parser.parse(mangled, demangled);
+ assertType(object, DemangledThunk.class);
+ assertName(object, "copy", "KHotKeys", "WindowTrigger");
+
+ // for now we preserve the extra stuff between 'thunk' and 'to' in the signature
+ assertEquals(
+ "covariant return thunk [nv:0] [nv:16] to undefined __thiscall KHotKeys::WindowTrigger::copy(KHotKeys::ActionData *)",
+ object.getSignature(false));
+ }
+
+ @Test
+ public void testMethod() throws Exception {
String mangled = "_ZN3Foo7getBoolEf";
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledMethod);
+ assertType(object, DemangledFunction.class);
assertName(object, "getBool", "Foo");
- DemangledMethod method = (DemangledMethod) object;
- assertEquals("undefined Foo::getBool(float)", method.getSignature(false));
+ DemangledFunction function = (DemangledFunction) object;
+ assertEquals("undefined Foo::getBool(float)", function.getSignature(false));
- List parameters = method.getParameters();
+ List parameters = function.getParameters();
assertEquals(1, parameters.size());
- assertEquals("float", parameters.get(0).toSignature());
+ assertEquals("float", parameters.get(0).getSignature());
}
@Test
@@ -310,7 +363,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "toFloat");
assertEquals("undefined toFloat(int,double,char,long,short)", object.getSignature(false));
@@ -319,11 +372,11 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
List parameters = function.getParameters();
assertEquals(5, parameters.size());
- assertEquals("int", parameters.get(0).toSignature());
- assertEquals("double", parameters.get(1).toSignature());
- assertEquals("char", parameters.get(2).toSignature());
- assertEquals("long", parameters.get(3).toSignature());
- assertEquals("short", parameters.get(4).toSignature());
+ assertEquals("int", parameters.get(0).getSignature());
+ assertEquals("double", parameters.get(1).getSignature());
+ assertEquals("char", parameters.get(2).getSignature());
+ assertEquals("long", parameters.get(3).getSignature());
+ assertEquals("short", parameters.get(4).getSignature());
}
@Test
@@ -333,7 +386,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledVariable);
+ assertType(object, DemangledVariable.class);
assertName(object, "magickCleanUpGuard", "Magick");
assertEquals("Magick::magickCleanUpGuard", object.getSignature(false));
@@ -350,11 +403,27 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledAddressTable);
+ assertType(object, DemangledAddressTable.class);
assertName(object, "vtable", "Magick", "DrawableTextAntialias");
assertEquals("Magick::DrawableTextAntialias::vtable", object.getSignature(false));
+ }
+ @Test
+ public void testReferenceTemporaryFor() throws Exception {
+
+ String mangled = "_ZGRZNK17KSimpleFileFilter12passesFilterEPK9KFileItemE6dotdot";
+ String demangled = process.demangle(mangled);
+ assertEquals(
+ "reference temporary #0 for KSimpleFileFilter::passesFilter(KFileItem const*) const::dotdot",
+ demangled);
+
+ DemangledObject object = parser.parse(mangled, demangled);
+ assertType(object, DemangledVariable.class);
+ assertName(object, "dotdot", "KSimpleFileFilter", "passesFilter(KFileItem const *)");
+
+ assertEquals("KSimpleFileFilter::passesFilter(KFileItem const *)::dotdot",
+ object.getSignature(false));
}
@Test
@@ -364,28 +433,94 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledAddressTable);
+ assertType(object, DemangledAddressTable.class);
assertName(object, "typeinfo", "Arts", "FileInputStream_impl_Factory");
assertEquals("Arts::FileInputStream_impl_Factory::typeinfo", object.getSignature(false));
}
@Test
- public void testGuardVariables() throws Exception {
+ public void testTypeInfo_For() throws Exception {
+ String mangled = "_ZTISt14unary_functionIPN9MagickLib12_DrawContextEvE";
+ String demangled = process.demangle(mangled);
+ assertEquals("typeinfo for std::unary_function", demangled);
+
+ DemangledObject object = parser.parse(mangled, demangled);
+ assertType(object, DemangledAddressTable.class);
+ assertName(object, "typeinfo", "std", "unary_function");
+
+ assertEquals("std::unary_function::typeinfo",
+ object.getSignature(false));
+ }
+
+ @Test
+ public void testTypeInfo_NameFor() throws Exception {
+ String mangled = "_ZTSSt14unary_functionIPN9MagickLib12_DrawContextEvE";
+ String demangled = process.demangle(mangled);
+ assertEquals("typeinfo name for std::unary_function",
+ demangled);
+
+ DemangledObject object = parser.parse(mangled, demangled);
+ assertType(object, DemangledString.class);
+ assertName(object, "typeinfo-name", "std", "unary_function");
+
+ assertEquals("typeinfo name for std::unary_function",
+ object.getSignature(false));
+ }
+
+ @Test
+ public void testVtable_ConstructionVtableFor() throws Exception {
+
+ String mangled = "_ZTCN4Arts17StdoutWriter_implE68_NS_11Object_skelE";
+ String demangled = process.demangle(mangled);
+ assertEquals("construction vtable for Arts::Object_skel-in-Arts::StdoutWriter_impl",
+ demangled);
+
+ DemangledObject object = parser.parse(mangled, demangled);
+ assertType(object, DemangledAddressTable.class);
+ assertName(object, "construction-vtable", "Arts", "Object_skel-in-Arts",
+ "StdoutWriter_impl");
+
+ assertEquals("Arts::Object_skel-in-Arts::StdoutWriter_impl::construction-vtable",
+ object.getSignature(false));
+ }
+
+ @Test
+ public void testGuardVariable_WithGuardVariableText() throws Exception {
+
+ String mangled = "_ZGVZN10KDirLister11emitChangesEvE3dot";
+ String demangled = process.demangle(mangled);
+ assertEquals("guard variable for KDirLister::emitChanges()::dot", demangled);
+
+ DemangledObject object = parser.parse(mangled, demangled);
+ assertType(object, DemangledVariable.class);
+ assertName(object, "dot", "KDirLister", "emitChanges()");
+
+ assertEquals("KDirLister::emitChanges()::dot", object.getSignature(false));
+
+ DemangledVariable variable = (DemangledVariable) object;
+ assertEquals("dot", variable.getName());
+ assertEquals("emitChanges()", variable.getNamespace().getNamespaceName());
+ assertEquals("KDirLister::emitChanges()", variable.getNamespace().getNamespaceString());
+ assertNull(variable.getDataType()); // no type information provided
+ }
+
+ @Test
+ public void testGuardVariable_ThreadPointer() throws Exception {
String mangled = "_ZZ18__gthread_active_pvE20__gthread_active_ptr";
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledVariable);
+ assertType(object, DemangledVariable.class);
assertName(object, "__gthread_active_ptr", "__gthread_active_p()");
assertEquals("__gthread_active_p()::__gthread_active_ptr", object.getSignature(false));
DemangledVariable variable = (DemangledVariable) object;
assertEquals("__gthread_active_ptr", variable.getName());
- assertEquals("__gthread_active_p()", variable.getNamespace().toNamespaceName());
+ assertEquals("__gthread_active_p()", variable.getNamespace().getNamespaceName());
assertNull(variable.getDataType()); // no type information provided
}
@@ -403,7 +538,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "CalcPortExposedRect", "LScrollerView");
assertEquals("undefined LScrollerView::CalcPortExposedRect(Rect &,bool)",
@@ -427,7 +562,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "__dt", "MsoDAL", "VertFrame");
assertEquals("undefined MsoDAL::VertFrame::__dt(void)", object.getSignature(false));
@@ -443,7 +578,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledVariable);
+ assertType(object, DemangledVariable.class);
assertName(object, "dialog", "DDDSaveOptionsCB(_WidgetRec *,void *,void *)");
assertEquals("DDDSaveOptionsCB(_WidgetRec *,void *,void *)::dialog",
@@ -467,7 +602,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "GetColWidths", "CDataRenderer");
assertEquals("undefined CDataRenderer::GetColWidths(short &[])",
@@ -491,7 +626,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "GetColWidths", "CDataRenderer");
assertEquals("undefined CDataRenderer::GetColWidths(short *[])",
@@ -509,7 +644,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "graphNew", "Layout");
// note: the two pointers were condensed to one (I think this is correct, but not sure)
@@ -526,7 +661,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = "Layout::graphNew(short (*) [41], char*)";
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "graphNew", "Layout");
assertEquals("undefined Layout::graphNew(short *[],char *)", object.getSignature(false));
@@ -549,21 +684,21 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledMethod);
+ assertType(object, DemangledFunction.class);
assertName(object, "_gmStage2");
assertEquals("undefined _gmStage2(SECTION_INFO *,int *,int *[],int,short const *)",
object.getSignature(false));
- DemangledMethod method = (DemangledMethod) object;
+ DemangledFunction method = (DemangledFunction) object;
List parameters = method.getParameters();
assertEquals(5, parameters.size());
- assertEquals("SECTION_INFO *", parameters.get(0).toSignature());
- assertEquals("int *", parameters.get(1).toSignature());
- assertEquals("int *[]", parameters.get(2).toSignature());
- assertEquals("int", parameters.get(3).toSignature());
- assertEquals("short const *", parameters.get(4).toSignature());
+ assertEquals("SECTION_INFO *", parameters.get(0).getSignature());
+ assertEquals("int *", parameters.get(1).getSignature());
+ assertEquals("int *[]", parameters.get(2).getSignature());
+ assertEquals("int", parameters.get(3).getSignature());
+ assertEquals("short const *", parameters.get(4).getSignature());
}
@Test
@@ -583,7 +718,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "__ct", "CStr", "Buffer");
assertEquals("undefined CStr::Buffer::__ct(CStr &,unsigned long)",
@@ -610,7 +745,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledVariable);
+ assertType(object, DemangledVariable.class);
assertName(object, "aaa<(bbb--ccc)120,ddd>");
assertEquals("aaa<(bbb--ccc)120,ddd>", object.getSignature(false));
@@ -625,7 +760,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
demangled = process.demangle(mangled);
object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "setmember", "mysequence");
assertEquals("undefined mysequence::setmember(int,int)", object.getSignature(false));
@@ -640,7 +775,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
demangled = process.demangle(mangled);
object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "Image", "Magick", "Image");
assertEquals(
@@ -656,18 +791,40 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledMethod);
+ assertType(object, DemangledFunction.class);
assertName(object, "operator<", "Magick");
- DemangledMethod method = (DemangledMethod) object;
+ DemangledFunction method = (DemangledFunction) object;
assertEquals(
"undefined Magick::operator<(Magick::Coordinate const &,Magick::Coordinate const &)",
method.getSignature(false));
List parameters = method.getParameters();
assertEquals(2, parameters.size());
- assertEquals("Magick::Coordinate const &", parameters.get(0).toSignature());
- assertEquals("Magick::Coordinate const &", parameters.get(1).toSignature());
+ assertEquals("Magick::Coordinate const &", parameters.get(0).getSignature());
+ assertEquals("Magick::Coordinate const &", parameters.get(1).getSignature());
+ }
+
+ @Test
+ public void testOperator_Functor() throws Exception {
+
+ String mangled = "_ZNK6Magick9pageImageclERNS_5ImageE";
+ String demangled = process.demangle(mangled);
+ assertEquals("Magick::pageImage::operator()(Magick::Image&) const",
+ demangled);
+
+ DemangledObject object = parser.parse(mangled, demangled);
+ assertType(object, DemangledFunction.class);
+ assertName(object, "operator()", "Magick", "pageImage");
+
+ DemangledFunction method = (DemangledFunction) object;
+ assertEquals(
+ "undefined Magick::pageImage::operator()(Magick::Image &)",
+ method.getSignature(false));
+
+ List parameters = method.getParameters();
+ assertEquals(1, parameters.size());
+ assertEquals("Magick::Image &", parameters.get(0).getSignature());
}
@Test
@@ -683,7 +840,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
DemangledObject object = parser.parse(mangled, demangled);
assertNotNull(object);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
String signature = object.getSignature(false);
assertEquals(
@@ -712,7 +869,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "operator.cast.to.basic_string", "Magick", "Color");
assertEquals("std::basic_string,std::allocator> " +
@@ -741,7 +898,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "operator.cast.to.GCC_ApplicationInvokeIndication&",
"GCC_IndicationPDU");
@@ -764,7 +921,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "operator.delete");
assertEquals("void operator.delete(void *)", object.getSignature(false));
@@ -780,7 +937,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
//
DemangledObject object = parser.parse("mangled", "operator delete[](void*)");
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "operator.delete[]");
assertEquals("void operator.delete[](void *)", object.getSignature(false));
@@ -800,7 +957,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "operator.new");
assertEquals("void * operator.new(unsigned long)", object.getSignature(false));
@@ -813,7 +970,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "operator()", "Magick", "viewImage");
assertEquals("undefined Magick::viewImage::operator()(Magick::Image &)",
@@ -833,10 +990,10 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
- assertName(object, "decode_charset_iconv", "anonymous_namespace");
+ assertType(object, DemangledFunction.class);
+ assertName(object, "decode_charset_iconv", "(anonymous_namespace)");
- assertEquals("undefined anonymous_namespace::decode_charset_iconv(char const *)",
+ assertEquals("undefined (anonymous_namespace)::decode_charset_iconv(char const *)",
object.getSignature(false));
}
@@ -852,10 +1009,10 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
- assertName(object, "mystrdup", "MeCab", "anonymous_namespace");
+ assertType(object, DemangledFunction.class);
+ assertName(object, "mystrdup", "MeCab", "(anonymous_namespace)");
- assertEquals("undefined MeCab::anonymous_namespace::mystrdup(char const *)",
+ assertEquals("undefined MeCab::(anonymous_namespace)::mystrdup(char const *)",
object.getSignature(false));
}
@@ -872,13 +1029,14 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
+
assertName(object,
- "__uninitialized_copy_aux",
+ "__uninitialized_copy_aux",
"std");
assertEquals(
- "MeCab::anonymous_namespace::Range * std::__uninitialized_copy_aux(MeCab::anonymous_namespace::Range *,MeCab::anonymous_namespace::Range *,MeCab::anonymous_namespace::Range *,std::__false_type)",
+ "MeCab::(anonymous_namespace)::Range * std::__uninitialized_copy_aux(MeCab::(anonymous_namespace)::Range *,MeCab::(anonymous_namespace)::Range *,MeCab::(anonymous_namespace)::Range *,std::__false_type)",
object.getSignature(false));
}
@@ -887,7 +1045,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
//
// Mangled: _ZN2Dr15ClipboardHelper17FTransferGvmlDataERN3Art11TransactionERKN3Ofc13TReferringPtrINS_10DrawingE2oEEEbNS4_7TCntPtrI11IDataObjectEERNS_18IClientDataCreatorERNS4_7TVectorINS4_8TWeakPtrINS_14DrawingElementEEELj0ELj4294967295EEERNS1_6Rect64E
//
- // Demangled: Ofc::TSimpleTypeHelper::ToString(Art::Percentage const&, Ofc::TFixedVarStr<(int)2085>&)
+ // Demangled: Dr::ClipboardHelper::FTransferGvmlData(Art::Transaction&, Ofc::TReferringPtr const&, bool, Ofc::TCntPtr, Dr::IClientDataCreator&, Ofc::TVector, 0u, 4294967295u>&, Art::Rect64&)
//
String mangled =
"_ZN2Dr15ClipboardHelper17FTransferGvmlDataERN3Art11TransactionERKN3Ofc13TReferringPtrINS_10DrawingE2oEEEbNS4_7TCntPtrI11IDataObjectEERNS_18IClientDataCreatorERNS4_7TVectorINS4_8TWeakPtrINS_14DrawingElementEEELj0ELj4294967295EEERNS1_6Rect64E";
@@ -895,7 +1053,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "FTransferGvmlData", "Dr", "ClipboardHelper");
assertEquals(
@@ -903,6 +1061,25 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
object.getSignature(false));
}
+ @Test
+ public void testTemplatedParametersWithCast_OldStyleDemangle() throws Exception {
+ //
+ // This demangled string has appeared at some point in the past. It no longer looks like
+ // this (note the odd syntax of '<(int)2085>&)')
+ //
+ // Ofc::TSimpleTypeHelper::ToString(Art::Percentage const&, Ofc::TFixedVarStr<(int)2085>&)
+ //
+ String demangled =
+ "Ofc::TSimpleTypeHelper::ToString(Art::Percentage const&, Ofc::TFixedVarStr<(int)2085>&)";
+ DemangledObject object = parser.parse("nomangled", demangled);
+ assertType(object, DemangledFunction.class);
+ assertName(object, "ToString", "Ofc", "TSimpleTypeHelper");
+
+ assertEquals(
+ "undefined Ofc::TSimpleTypeHelper::ToString(Art::Percentage const &,Ofc::TFixedVarStr<(int)2085> &)",
+ object.getSignature(false));
+ }
+
@Test
public void testTemplatedNameSpaces() throws Exception {
//
@@ -916,7 +1093,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue("Parsed a function", object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "perform", "Core", "AsyncFile");
DemangledFunction df = (DemangledFunction) object;
@@ -949,7 +1126,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "registerKeysChangedCallback", "LogLevelMonitor");
@@ -982,7 +1159,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "set_mutate_ares_options_callback", "DnsThread");
DemangledFunction df = (DemangledFunction) object;
@@ -1016,7 +1193,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "_M_insert_aux", "std",
"vector,std--allocator>>");
@@ -1038,7 +1215,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
String demangled = process.demangle(mangled);
DemangledObject object = parser.parse(mangled, demangled);
- assertTrue(object instanceof DemangledAddressTable);
+ assertType(object, DemangledAddressTable.class);
assertName(object, "construction-vtable", "Crypto", "Mac-in-Crypto", "HmacSha");
assertEquals("Crypto::Mac-in-Crypto::HmacSha::construction-vtable",
@@ -1059,7 +1236,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
DemangledObject object = parser.parse(mangled, demangled);
assertNotNull(object);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
DemangledFunction function = (DemangledFunction) object;
List parameters = function.getParameters();
@@ -1083,7 +1260,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
DemangledObject object = parser.parse(mangled, demangled);
assertNotNull(object);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
String signature = object.getSignature(false);
assertEquals(
@@ -1129,7 +1306,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
DemangledObject object = parser.parse(mangled, demangled);
assertNotNull(object);
- assertTrue("Expected a Demangled Function: " + object, object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
String signature = object.getSignature(false);
assertEquals(
@@ -1142,7 +1319,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
}
@Test
- public void testOperatorTODO() throws Exception {
+ public void testOperator_NotEquals() throws Exception {
//
// Mangled: _ZNK2cc14ScrollSnapTypeneERKS0_
@@ -1155,7 +1332,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
DemangledObject object = parser.parse(mangled, demangled);
assertNotNull(object);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
String signature = object.getSignature(false);
assertEquals("undefined cc::ScrollSnapType::operator!=(cc::ScrollSnapType const &)",
@@ -1181,7 +1358,7 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
"_ZZN12GrGLFunctionIFPKhjEEC1IZN13skia_bindings28CreateGLES2InterfaceBindingsEPN3gpu5gles214GLES2InterfaceEPNS6_14ContextSupportEE3$_0EET_ENUlPKvjE_8__invokeESF_j",
"GrGLFunction::GrGLFunction(skia_bindings::CreateGLES2InterfaceBindings(gpu::gles2::GLES2Interface*, gpu::ContextSupport*)::$_0)::{lambda(void const*, unsigned int)#1}::__invoke(void const*, unsigned int)");
assertNotNull(object);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
assertName(object, "__invoke",
"GrGLFunction",
@@ -1216,32 +1393,30 @@ public class GnuDemanglerParserTest extends AbstractGenericTest {
DemangledObject object = parser.parse(mangled, demangled);
assertNotNull(object);
- assertTrue(object instanceof DemangledFunction);
+ assertType(object, DemangledFunction.class);
- // TODO
- // TODO maybe put full output in setUtilDemangled()
String signature = object.getSignature(false);
assertEquals("undefined wrap_360_cd(int)", signature);
}
+ private void assertType(Demangled o, Class> c) {
+ assertTrue("Wrong demangled type. " +
+ "\nExpected " + c + "; " +
+ "\nfound " + o.getClass(),
+ c.isInstance(o));
+ }
+
private void assertName(DemangledObject demangledObj, String name, String... namespaces) {
assertEquals("Unexpected demangled name", name, demangledObj.getName());
Demangled namespace = demangledObj.getNamespace();
for (int i = namespaces.length - 1; i >= 0; i--) {
- String n = namespaces[i];
+ String expectedName = namespaces[i];
assertNotNull("Namespace mismatch", namespace);
- assertEquals(n, namespace.toNamespaceName());
+ String actualName = namespace.getNamespaceName();
+ assertEquals(expectedName, actualName);
namespace = namespace.getNamespace();
}
assertNull("Namespace mismatch", namespace);
}
-
- private void demangle(String mangled) throws IOException {
- String demangled = process.demangle(mangled);
- assertNotNull(demangled);
- assertNotEquals(mangled, demangled);
- assertNotNull(parser.parse(mangled, demangled));
- }
-
}
diff --git a/Ghidra/Features/GnuDemangler/src/test/java/ghidra/app/util/demangler/gnu/GnuDemanglerTest.java b/Ghidra/Features/GnuDemangler/src/test/java/ghidra/app/util/demangler/gnu/GnuDemanglerTest.java
index 32874d1ece..7c212ebe01 100644
--- a/Ghidra/Features/GnuDemangler/src/test/java/ghidra/app/util/demangler/gnu/GnuDemanglerTest.java
+++ b/Ghidra/Features/GnuDemangler/src/test/java/ghidra/app/util/demangler/gnu/GnuDemanglerTest.java
@@ -145,7 +145,7 @@ public class GnuDemanglerTest extends AbstractGenericTest {
Symbol s = symbolTable.getPrimarySymbol(addr("01001000"));
assertNotNull(s);
- assertEquals("typeinfo_name", s.getName());
+ assertEquals("typeinfo-name", s.getName());
assertEquals("AP_HAL::HAL::Callbacks", s.getParentNamespace().getName(true));
assertEquals("typeinfo name for AP_HAL::HAL::Callbacks",
@@ -238,6 +238,7 @@ public class GnuDemanglerTest extends AbstractGenericTest {
String demanglerName = GnuDemanglerOptions.GNU_DEMANGLER_DEFAULT;
String applicationArguments = "-s MrBob";
try {
+ setErrorsExpected(true);
GnuDemanglerNativeProcess.getDemanglerNativeProcess(demanglerName,
applicationArguments);
fail("Expected an exception when passing unknown arguments to the native demangler");
@@ -246,7 +247,7 @@ public class GnuDemanglerTest extends AbstractGenericTest {
// expected
Msg.error(this, "Test error", e);
}
-
+ setErrorsExpected(false);
}
private Address addr(String address) {
diff --git a/Ghidra/Features/GnuDemangler/src/test/resources/ghidra/app/util/demangler/gnu_mangled_names_macho.txt b/Ghidra/Features/GnuDemangler/src/test/resources/ghidra/app/util/demangler/gnu_mangled_names_macho.txt
deleted file mode 100644
index 518a929c18..0000000000
--- a/Ghidra/Features/GnuDemangler/src/test/resources/ghidra/app/util/demangler/gnu_mangled_names_macho.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-__ZTV15_IOConfigThread #
-__ZN8IOSyncer9metaClassE #
-__ZN8IOSyncer10superClassE #
-
-__ZN12KLDBootstrapD1Ev #
-__ZN12KLDBootstrapD2Ev #
-__ZN12KLDBootstrapC1Ev #
-__ZN12KLDBootstrapC2Ev #
-
-__ZL26kCharsetNameISOLatinHebrew
-__ZN9__gnu_cxxL16__stl_prime_listE
-__ZNSs6appendERKSs
-__ZTV21MmsMessageClassHeader
-
-__ZL30addRecipientsFromMmsWithHeaderPKcP10MmsMessageP9CTMessage # addRecipientsFromMmsWithHeader(char const*, MmsMessage*, CTMessage*)
-__ZZN13MmsPduDecoder21_decodeMessageHeadersEP10MmsMessageE15requiredHeaders
diff --git a/Ghidra/Features/GnuDemangler/src/test/resources/ghidra/app/util/demangler/libMagick.symbols.txt b/Ghidra/Features/GnuDemangler/src/test/resources/ghidra/app/util/demangler/libMagick.symbols.txt
deleted file mode 100644
index f3e4fa08f5..0000000000
--- a/Ghidra/Features/GnuDemangler/src/test/resources/ghidra/app/util/demangler/libMagick.symbols.txt
+++ /dev/null
@@ -1,2280 +0,0 @@
-_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEj
-_ZN6Magick5ImageC1ERKSs
-_ZN6Magick5Image10monochromeEb
-_ZN6Magick5Image8quantizeEb
-_ZN6Magick14PathCurvetoAbsC1ERKS0_
-_Znaj
-_ZN6Magick8ImageRefC1EPN9MagickLib6_ImageEPKNS_7OptionsE
-_ZNK6Magick8ColorYUV1yEv
-_ZN6Magick5Image8boxColorERKNS_5ColorE
-_ZN6Magick7Options8fillRuleERKN9MagickLib8FillRuleE
-_ZN6Magick7OptionsC1Ev
-_ZN6MagickneERKNS_8GeometryES2_
-_ZN6Magick13PathLinetoAbsC1ERKS0_
-_ZN6Magick7Options4viewERKSs
-_ZN6Magick5Image10matteColorERKNS_5ColorE
-_ZNK6Magick7Options15backgroundColorEv
-_ZN6Magick5Image6borderERKNS_8GeometryE
-_ZN6Magick5ColorC2ERKS0_
-_ZN6Magick5ImageC1ERKNS_8GeometryERKNS_5ColorE
-_ZN6Magick5Image5sceneEj
-_ZN6Magick13PathMovetoAbsC1ERKS0_
-_ZN6Magick5Image13cycleColormapEi
-_ZN6Magick5Image16floodFillTextureEjjRKS0_RKNS_5ColorE
-_ZN6Magick5ImageD1Ev
-_ZN6Magick5Image9fillColorERKNS_5ColorE
-_ZN6Magick18ErrorResourceLimitC1ERKSs
-_ZN6Magick19DrawableStrokeColorC1ERKS0_
-_ZN6Magick5Image5shaveERKNS_8GeometryE
-_ZNK6Magick5Image19throwImageExceptionEv
-_ZN6MagickltERKNS_10CoordinateES2_
-_ZNSt9exceptionD2Ev
-_ZN6Magick5Image5matteEb
-_ZN6MagickgtERKNS_5ColorES2_
-_ZN6Magick14throwExceptionERN9MagickLib14_ExceptionInfoE
-_ZN6Magick12DrawableTextC1ERKS0_
-_ZN6Magick13ErrorFileOpenC1ERKSs
-_ZN6Magick5Image5frameEjjii
-_ZN6Magick14ErrorUndefinedC1ERKSs
-_ZNSt10_List_baseIN6Magick5VPathESaIS1_EE5clearEv
-_ZN6Magick5Image11strokeWidthEd
-_ZN6Magick7MontageC2Ev
-_ZNK6Magick7Options9fillColorEv
-_ZN6Magick4BlobC1EPKvj
-_ZN6Magick7Options10x11DisplayERKSs
-_ZN6Magick5Image18chromaGreenPrimaryEdd
-_ZNKSs4copyEPcjj
-_ZN6Magick5Image4drawERKSt4listINS_8DrawableESaIS2_EE
-_ZNSs4_Rep10_M_disposeERKSaIcE
-_ZN6Magick9MutexLockC1Ev
-_ZNSsC1ERKSs
-_ZNK6Magick7Options8fillRuleEv
-_ZN6Magick5Image4blurEdd
-_ZN6Magick5Image13interlaceTypeEN9MagickLib13InterlaceTypeE
-_ZN6Magick29PathSmoothQuadraticCurvetoAbsC1ERKS0_
-_ZNK6Magick7Options15strokeDashArrayEv
-_ZN6Magick5Image9colorFuzzEd
-_ZN6Magick7Options15transformOriginEdd
-_ZN6Magick5Image16chromaRedPrimaryEdd
-_ZN6Magick5Image18quantizeColorSpaceEN9MagickLib14ColorspaceTypeE
-_ZN6Magick7Options5debugEb
-_ZN6Magick8GeometryC1ERKN9MagickLib14_RectangleInfoE
-_ZN6Magick12DrawablePathC1ERKS0_
-_ZNSt14__simple_allocISt10_List_nodeIN6Magick8DrawableEESt24__default_alloc_templateILb1ELi0EEE10deallocateEPS3_j
-_ZN6Magick20ErrorMissingDelegateC1ERKSs
-_ZN6Magick5Image15backgroundColorERKNS_5ColorE
-_ZNK6Magick7Options8boxColorEv
-_ZNSt4listIN6Magick10CoordinateESaIS1_EE18_M_insert_dispatchISt14_List_iteratorIS1_RKS1_PS6_EEEvS5_IS1_RS1_PS1_ET_SD_12__false_type
-_ZN6Magick5VPathC1ERKS0_
-_ZN6MagickgtERKNS_10CoordinateES2_
-_ZN6Magick5Image16chromaWhitePointEdd
-_ZN6Magick5Image7enhanceEv
-_ZN6Magick9MutexLock4lockEv
-_ZN6Magick5Image16floodFillTextureERKNS_8GeometryERKS0_
-_ZNSt10_List_baseIN6Magick11PathArcArgsESaIS1_EED2Ev
-_ZN6Magick8GeometryaSERKSs
-_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_
-_ZN6Magick7Options6endianEN9MagickLib10EndianTypeE
-_ZN6Magick23PathQuadraticCurvetoAbsC1ERKS0_
-_ZNSt14__simple_allocISt10_List_nodeIN6Magick5VPathEESt24__default_alloc_templateILb1ELi0EEE10deallocateEPS3_j
-_ZN6Magick12ErrorXServerC1ERKSs
-_ZN6Magick5Image7magnifyEv
-_ZN6Magick17DrawableDashArray9dasharrayEPKj
-_ZN6Magick29PathSmoothQuadraticCurvetoRelC1ERKS0_
-_ZNSt10_List_baseIN6Magick11PathArcArgsESaIS1_EE5clearEv
-_ZN6Magick9MutexLockD1Ev
-_ZN6Magick5Image9antiAliasEb
-_ZN6Magick15WarningFileOpenC1ERKSs
-_ZN6Magick5ImageC1ERKS0_
-_ZNK6Magick7Options5debugEv
-_ZN6Magick8ImageRefC1Ev
-_ZN6MagickneERKNS_5ColorES2_
-_ZN6Magick5Image6minifyEv
-_ZN6Magick14WarningXServerC1ERKSs
-_ZN6Magick7Options7densityERKNS_8GeometryE
-_ZN6Magick5Image4cropERKNS_8GeometryE
-_ZN6Magick5Image11borderColorERKNS_5ColorE
-_ZN6Magick14PathCurvetoRelC1ERKS0_
-_ZN6Magick8GeometryC1EPKc
-_ZN6Magick5Image11strokeColorERKNS_5ColorE
-_ZNSt4listIN6Magick11PathArcArgsESaIS1_EE14_M_create_nodeERKS1_
-_ZN6Magick5Image7verboseEb
-_ZN6Magick5Image8modulateEddd
-_ZN6Magick5Image4fontERKSs
-_ZN6Magick7BlobRefD1Ev
-_ZN6Magick5ColorD1Ev
-_ZNSs6assignERKSs
-_ZN6Magick13MagickCleanUpC1Ev
-_ZN6Magick5Image12compressTypeEN9MagickLib15CompressionTypeE
-_ZN6Magick5Image11modifyImageEv
-_ZN6Magick5Image7steganoERKS0_
-_ZNSt4listIN6Magick24PathQuadraticCurvetoArgsESaIS1_EE18_M_insert_dispatchISt14_List_iteratorIS1_RKS1_PS6_EEEvS5_IS1_RS1_PS1_ET_SD_12__false_type
-_ZNSsD1Ev
-_ZN6Magick5Image14floodFillColorEjjRKNS_5ColorE
-_ZN6Magick5ImageC1EPN9MagickLib6_ImageEPKNS_7OptionsE
-_ZN6Magick5Image14quantizeColorsEj
-_ZdlPv
-_ZNK6Magick8GeometrycvN9MagickLib14_RectangleInfoEEv
-_ZSt10__distanceISt14_List_iteratorIN6Magick10CoordinateERKS2_PS3_EENSt15iterator_traitsIT_E15difference_typeES8_S8_St18input_iterator_tag
-_ZN6Magick5Image12medianFilterEd
-_ZNK6Magick7Options6magickEv
-_ZN6Magick5Image7qualityEj
-_ZNSt10_List_baseIN6Magick5VPathESaIS1_EED2Ev
-_ZN6Magick15DrawablePolygonC1ERKS0_
-_ZN6Magick7Options15resolutionUnitsEN9MagickLib14ResolutionTypeE
-_ZNSt4listIN6Magick11PathArcArgsESaIS1_EE18_M_insert_dispatchISt14_List_iteratorIS1_RKS1_PS6_EEEvS5_IS1_RS1_PS1_ET_SD_12__false_type
-_ZNK6Magick5Image9signatureEb
-_ZNSt10_List_baseIN6Magick24PathQuadraticCurvetoArgsESaIS1_EED2Ev
-_ZNSt10_List_baseIN6Magick8DrawableESaIS1_EED2Ev
-_ZN6Magick5Image6embossEdd
-_ZN6Magick5Image4flopEv
-_ZN6Magick19WarningCorruptImageC1ERKSs
-_ZN6Magick5Image8fileNameERKSs
-_ZN6Magick5Image4typeEN9MagickLib9ImageTypeE
-_ZSt9terminatev
-_ZN6Magick5Image8annotateERKSsRKNS_8GeometryEN9MagickLib11GravityTypeEd
-_ZN6Magick5Image15renderingIntentEN9MagickLib15RenderingIntentE
-_ZN6Magick5Image10x11DisplayERKSs
-_ZN6Magick5Image4chopERKNS_8GeometryE
-_ZN6Magick5Image9transformERKNS_8GeometryES3_
-_ZNSt4listIN6Magick15PathCurvetoArgsESaIS1_EE14_M_create_nodeERKS1_
-_ZNSs7replaceEjjPKcj
-_ZN6Magick5Image10colorSpaceEN9MagickLib14ColorspaceTypeE
-_ZNSt4listIN6Magick10CoordinateESaIS1_EE14_M_create_nodeERKS1_
-_ZN6Magick7Options15strokeDashArrayEPKd
-_ZNK6Magick7Options7densityEv
-_ZN6Magick8GeometryaSEPKc
-_ZN6Magick5Image4viewERKSs
-_ZNSs7reserveEj
-_ZNSt4listIN6Magick5VPathESaIS1_EE18_M_insert_dispatchISt14_List_iteratorIS1_RKS1_PS6_EEEvS5_IS1_RS1_PS1_ET_SD_12__false_type
-_ZN6Magick5ColorC1ERKS0_
-_ZNK6Magick8GeometrycvSsEv
-_ZN6Magick5Image7channelEN9MagickLib11ChannelTypeE
-_ZN6Magick5Image4readERKNS_4BlobERKNS_8GeometryERKSs
-_ZN6Magick5ImageC1Ev
-_ZN6Magick10PathArcRelC1ERKS0_
-_ZNK6Magick7Montage17updateMontageInfoERN9MagickLib12_MontageInfoE
-_ZN6Magick5Image6endianEN9MagickLib10EndianTypeE
-_ZN6Magick5Image9thresholdEd
-_ZN6Magick9ExceptionC2ERKS0_
-_ZN6Magick5Image9compositeERKS0_iiN9MagickLib17CompositeOperatorE
-_ZN6Magick6PixelsD1Ev
-_ZN6Magick5Image12replaceImageEPN9MagickLib6_ImageE
-_ZN6Magick8GeometryD1Ev
-_ZN6Magick7Options14transformSkewYEd
-_ZNK6Magick5Image14getConstPixelsEiijj
-_ZN6Magick5Image7implodeEd
-_ZN6MagickltERKNS_5ImageES2_
-_ZN6MagickneERKNS_5ImageES2_
-_ZN6Magick5Image15resolutionUnitsEN9MagickLib14ResolutionTypeE
-_ZN6Magick5Image14matteFloodfillERKNS_5ColorEjiiN9MagickLib11PaintMethodE
-_ZN6Magick5Image6adjoinEb
-_ZN6Magick5Image4readERKNS_4BlobE
-_ZN6Magick5Image16gifDisposeMethodEj
-_ZN6Magick9ExceptionC2ERKSs
-_ZN6Magick5Image7sharpenEdd
-_ZN6Magick5Image9despeckleEv
-_ZN6Magick5Image5labelERKSs
-_ZN6Magick19DrawablePushPatternC1ERKS0_
-_ZN6Magick11ErrorOptionC1ERKSs
-_ZN6Magick5Image17quantizeTreeDepthEj
-_ZN6Magick5Image11transparentERKNS_5ColorE
-_ZN6Magick5Image7segmentEdd
-_ZN6Magick22throwExceptionExplicitEN9MagickLib13ExceptionTypeEPKcS3_
-_ZN6Magick5Image5scaleERKNS_8GeometryE
-_ZN6MagickeqERKNS_5ImageES2_
-_ZNSt4listIN6Magick8DrawableESaIS1_EE18_M_insert_dispatchISt14_List_iteratorIS1_RKS1_PS6_EEEvS5_IS1_RS1_PS1_ET_SD_12__false_type
-_ZN6Magick5Image7densityERKNS_8GeometryE
-_ZNK6Magick7Options8tileNameEv
-_ZN6Magick5Image16floodFillTextureERKNS_8GeometryERKS0_RKNS_5ColorE
-_ZN6Magick5Image14quantizeDitherEb
-_ZN6Magick5Image13fontPointsizeEd
-_ZN6Magick9MutexLock6unlockEv
-_ZN6Magick5Image12gaussianBlurEdd
-_ZN6Magick8GeometryC1Ev
-_ZN6Magick12DrawableBaseD2Ev
-_ZNSt10_List_baseIN6Magick8DrawableESaIS1_EE5clearEv
-_ZN6Magick5ColoraSEPKc
-_ZN6Magick8DrawableD1Ev
-_ZN6Magick5Image10filterTypeEN9MagickLib11FilterTypesE
-_ZNK6Magick8DrawableclEPN9MagickLib12_DrawContextE
-_ZN6Magick5Image4sizeERKNS_8GeometryE
-_ZN6Magick7Options4pageERKNS_8GeometryE
-_ZNK6Magick7Options13strokePatternEv
-_ZN6Magick17ErrorCorruptImageC1ERKSs
-_ZN6Magick5Image6stereoERKS0_
-_ZNSt10_List_baseIN6Magick15PathCurvetoArgsESaIS1_EE5clearEv
-_ZNSt10_List_baseIN6Magick24PathQuadraticCurvetoArgsESaIS1_EE5clearEv
-_ZN6Magick5Image8colorMapEjRKNS_5ColorE
-_ZN6Magick5Image7textureERKS0_
-_ZN6Magick7BlobRefC1EPKvj
-_ZN6Magick12DrawableFontC1ERKS0_
-_ZN6Magick5Image17chromaBluePrimaryEdd
-_ZNSs6appendEjc
-_ZN6Magick5Image4trimEv
-_ZN6MagickeqERKNS_8GeometryES2_
-_ZN6Magick5ColoraSERKS0_
-_ZN6Magick5Image4flipEv
-_ZNK6Magick7Options17backgroundTextureEv
-_ZN6Magick5Image19animationIterationsEj
-_ZN6Magick22WarningMissingDelegateC1ERKSs
-_ZN6Magick5Image4waveEdd
-_ZN6Magick6PixelsC1ERNS_5ImageE
-_ZNK6Magick5Image6magickEv
-_ZN6Magick8ImageRefD1Ev
-_ZN6Magick5Image4readERKNS_4BlobERKNS_8GeometryEjRKSs
-_ZNSt4listIN6Magick11PathArcArgsESaIS1_EE14_M_fill_insertESt14_List_iteratorIS1_RS1_PS1_EjRKS1_
-_ZN6Magick5Image4readERKNS_4BlobERKNS_8GeometryE
-_ZN6Magick7Options6magickERKSs
-_ZN6Magick5Image4readERKNS_4BlobERKNS_8GeometryEj
-_ZN6Magick5Image4pageERKNS_8GeometryE
-_ZN6Magick17DrawableDashArray9dasharrayEPKd
-_ZN6Magick8ImageRef5imageEPN9MagickLib6_ImageE
-_ZN6Magick5Image6magickERKSs
-_ZdaPv
-_ZN6Magick8DrawableC1ERKS0_
-_ZN6Magick7Options8tileNameERKSs
-_ZN6Magick8ImageRef2idEl
-_ZN6Magick5Image4readEjjRKSsN9MagickLib11StorageTypeEPKv
-_ZN6Magick7Options14transformSkewXEd
-_ZN6Magick20PathSmoothCurvetoAbsC1ERKS0_
-_ZN6Magick5Image9transformERKNS_8GeometryE
-_ZNK6Magick5Image15getConstIndexesEv
-_ZN6Magick7WarningC2ERKSs
-_ZN6Magick7Options14transformResetEv
-_ZN6Magick5Image6spreadEj
-_ZN6Magick5Image8colorizeEjjjRKNS_5ColorE
-_ZN6Magick10ErrorCacheC1ERKSs
-_ZNK6Magick7Options11borderColorEv
-_ZNSs6appendERKSs
-_ZNK6Magick5Image10pixelColorEjj
-_ZN6Magick5Image14floodFillColorEjjRKNS_5ColorES3_
-_ZN6Magick5Image8addNoiseEN9MagickLib9NoiseTypeE
-_ZN6Magick8GeometryC1Ejjjjbb
-_ZNSsC1EPKcRKSaIcE
-_ZNSt10_List_baseIN6Magick10CoordinateESaIS1_EED2Ev
-_ZNSt4listIN6Magick24PathQuadraticCurvetoArgsESaIS1_EE14_M_create_nodeERKS1_
-_ZNK6Magick7Options10x11DisplayEv
-_ZN6Magick5Image8tileNameERKSs
-_ZN6Magick17DrawableFillColorC1ERKS0_
-_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvj
-_ZN6Magick5Image7commentERKSs
-_ZN6Magick16DrawablePolylineC1ERKS0_
-_ZN6MagickltERKNS_5ColorES2_
-_ZN6Magick22DrawableCompositeImageC1ERKS0_
-_ZNSt10_List_baseIN6Magick15PathCurvetoArgsESaIS1_EED2Ev
-_ZN6Magick7OptionsC1ERKS0_
-_ZN6Magick5Image6opaqueERKNS_5ColorES3_
-_ZN6Magick7Options10matteColorERKNS_5ColorE
-_ZN6Magick5Image9classTypeEN9MagickLib9ClassTypeE
-_ZN6Magick5Image9normalizeEv
-_ZN6Magick5Image4readERKSs
-_ZN6Magick4Blob12updateNoCopyEPvjNS0_9AllocatorE
-_ZN6Magick7Options17transformRotationEd
-_ZN6Magick10PathArcAbsC1ERKS0_
-_ZNK6Magick7Options11fillPatternEv
-_ZN6Magick5Image8equalizeEv
-_ZN6Magick23PathQuadraticCurvetoRelC1ERKS0_
-_ZN6Magick5Image8contrastEj
-_ZNK6Magick5Image8fileNameEv
-_ZN6Magick7Options11strokeColorERKNS_5ColorE
-_ZN6Magick7Options15backgroundColorERKNS_5ColorE
-_ZNK6Magick7Options8fileNameEv
-_ZN6Magick11WarningBlobC1ERKSs
-_ZN6Magick5Image14animationDelayEj
-_ZNK6Magick5VPathclEPN9MagickLib12_DrawContextE
-_ZN6Magick5Image5gammaEddd
-_ZN6Magick7Options17backgroundTextureERKSs
-_ZN6Magick5Image6negateEb
-_ZN6Magick7Options11borderColorERKNS_5ColorE
-_ZN6Magick5Image5swirlEd
-_ZN6Magick5Image4zoomERKNS_8GeometryE
-_ZN6Magick5Image16floodFillTextureEjjRKS0_
-_ZN6Magick13PathLinetoRelC1ERKS0_
-_ZNSsC1EPKcjRKSaIcE
-_ZN6Magick5Image11reduceNoiseEd
-_ZN6Magick12WarningCacheC1ERKSs
-_ZNK6Magick7Options15resolutionUnitsEv
-_ZN6Magick7OptionsD1Ev
-_ZN6Magick5Image17backgroundTextureERKSs
-_ZN6Magick20PathSmoothCurvetoRelC1ERKS0_
-_ZN6Magick5Image3mapERKS0_b
-_ZN6Magick5Image6rotateEd
-_ZN6Magick7Options9fillColorERKNS_5ColorE
-_ZN6Magick5Image6sampleERKNS_8GeometryE
-_ZN6Magick7Options11fillPatternEPKN9MagickLib6_ImageE
-_ZN6Magick7Options4sizeERKNS_8GeometryE
-_ZNK6Magick8ColorYUV1uEv
-_ZNK6Magick5ColorcvSsEv
-_ZN6Magick7Options8boxColorERKNS_5ColorE
-_ZN6MagickeqERKNS_10CoordinateES2_
-_ZN6Magick5Image7opacityEj
-_ZN6Magick5Image4edgeEd
-_ZN6Magick22DrawableTextUnderColorC1ERKS0_
-_ZN6Magick5Image10pixelColorEjjRKNS_5ColorE
-_ZNSt4listIN6Magick8DrawableESaIS1_EE14_M_create_nodeERKS1_
-_ZNK6Magick7Options4fontEv
-_ZN6Magick7Options4fontERKSs
-_Znwj
-_ZNSt10_List_baseIN6Magick10CoordinateESaIS1_EE5clearEv
-_ZN6Magick5Image5shadeEddb
-_ZN6Magick5Image8oilPaintEd
-_ZNSt4listIN6Magick15PathCurvetoArgsESaIS1_EE18_M_insert_dispatchISt14_List_iteratorIS1_RKS1_PS6_EEEvS5_IS1_RS1_PS1_ET_SD_12__false_type
-_ZN6Magick5Image10penTextureERKS0_
-_ZN6Magick5ErrorC2ERKSs
-_ZNSt4listIN6Magick10CoordinateESaIS1_EE14_M_fill_insertESt14_List_iteratorIS1_RS1_PS1_EjRKS1_
-_ZN6MagickgtERKNS_8GeometryES2_
-_ZN6Magick5Image5shearEdd
-_ZNK6Magick8ColorYUV1vEv
-_ZN6Magick5Image8subImageEj
-_ZN6Magick5Image8charcoalEdd
-_ZN6Magick14DrawableBezierC1ERKS0_
-_ZN6Magick5Image5depthEj
-_ZN6Magick13MagickCleanUpD1Ev
-_ZN6MagickeqERKNS_5ColorES2_
-_ZN6Magick13PathMovetoRelC1ERKS0_
-_ZN6Magick5Image5raiseERKNS_8GeometryEb
-_ZN6Magick5Image8solarizeEd
-_ZN6MagickltERKNS_8GeometryES2_
-_ZN6MagickneERKNS_10CoordinateES2_
-_ZN6Magick6Pixels3getEiijj
-_ZN6Magick9ErrorBlobC1ERKSs
-_ZN6Magick7Options8fileNameERKSs
-_ZN6Magick17DrawableDashArrayC1ERKS0_
-_ZN6Magick5Image4rollEjj
-_ZN6Magick5ColorC1ERKN9MagickLib12_PixelPacketE
-_ZN6Magick13ErrorDelegateC1ERKSs
-_ZN6Magick11CloneStringEPPcRKSs
-_ZN6Magick5ColoraSERKSs
-_ZNK6Magick7Options11strokeColorEv
-_ZNK6Magick5Image8colorMapEj
-_ZNSs4_Rep10_M_destroyERKSaIcE
-_ZNSt4listIN6Magick24PathQuadraticCurvetoArgsESaIS1_EE14_M_fill_insertESt14_List_iteratorIS1_RS1_PS1_EjRKS1_
-_ZN6Magick13WarningOptionC1ERKSs
-_ZN6Magick7Options13strokePatternEPKN9MagickLib6_ImageE
-_ZNK6Magick7Options4viewEv
-_ZN6Magick5Image8subRangeEj
-_ZN6Magick15WarningDelegateC1ERKSs
-_ZN6Magick6Pixels4syncEv
-_ZN6Magick20WarningResourceLimitC1ERKSs
-_ZN6Magick7Options14transformScaleEdd
-_ZN6Magick9VPathBaseD2Ev
-_ZN6Magick8GeometryC1ERKS0_
-_ZN6Magick5Image7isValidEb
-_ZNSt4listIN6Magick15PathCurvetoArgsESaIS1_EE14_M_fill_insertESt14_List_iteratorIS1_RS1_PS1_EjRKS1_
-_ZNK6Magick5Image7isValidEv
-_ZNSs6appendEPKcj
-_ZN6Magick5Image8penColorERKNS_5ColorE
-_ZN6MagickgtERKNS_5ImageES2_
-_ZN6Magick4BlobC2Ev
-_ZN6Magick4BlobC1Ev
-_ZN6Magick4BlobC2EPKvj
-_ZN6Magick4BlobC1EPKvj
-_ZN6Magick4BlobC2ERKS0_
-_ZN6Magick4BlobC1ERKS0_
-_ZN6Magick4BlobD2Ev
-_ZN6Magick4BlobD1Ev
-_ZN6Magick4BlobD0Ev
-_ZN6Magick4BlobaSERKS0_
-_ZN6Magick4Blob6base64ESs
-_ZN6Magick4Blob6base64Ev
-_ZN6Magick4Blob6updateEPKvj
-_ZN6Magick4Blob12updateNoCopyEPvjNS0_9AllocatorE
-_ZN6Magick7BlobRefC2EPKvj
-_ZN6Magick7BlobRefC1EPKvj
-_ZN6Magick7BlobRefD2Ev
-_ZN6Magick7BlobRefD1Ev
-_ZN6Magick9CoderInfoC2ERKSs
-_ZN6Magick9CoderInfoC1ERKSs
-_ZN6Magick9CoderInfoD2Ev
-_ZN6Magick9CoderInfoD1Ev
-_ZNK6Magick9CoderInfo4nameEv
-_ZNK6Magick9CoderInfo11descriptionEv
-_ZNK6Magick9CoderInfo10isReadableEv
-_ZNK6Magick9CoderInfo10isWritableEv
-_ZNK6Magick9CoderInfo12isMultiFrameEv
-_ZN6Magick9CoderInfoC2EPKN9MagickLib11_MagickInfoE
-_ZN6Magick9CoderInfoC1EPKN9MagickLib11_MagickInfoE
-_ZN6MagickeqERKNS_5ColorES2_
-_ZN6MagickneERKNS_5ColorES2_
-_ZN6MagickgtERKNS_5ColorES2_
-_ZN6MagickltERKNS_5ColorES2_
-_ZN6MagickgeERKNS_5ColorES2_
-_ZN6MagickleERKNS_5ColorES2_
-_ZN6Magick5ColorC2ERKS0_
-_ZN6Magick5ColorC1ERKS0_
-_ZN6Magick5ColoraSERKS0_
-_ZN6Magick5ColoraSERKSs
-_ZN6Magick5ColoraSEPKc
-_ZNK6Magick5ColorcvSsEv
-_ZN6Magick5ColorC2ERKN9MagickLib12_PixelPacketE
-_ZN6Magick5ColorC1ERKN9MagickLib12_PixelPacketE
-_ZN6Magick5ColoraSERKN9MagickLib12_PixelPacketE
-_ZN6Magick8ColorHSLC2Eddd
-_ZN6Magick8ColorHSLC1Eddd
-_ZN6Magick8ColorHSLC2Ev
-_ZN6Magick8ColorHSLC1Ev
-_ZN6Magick8ColorHSLC2ERKNS_5ColorE
-_ZN6Magick8ColorHSLC1ERKNS_5ColorE
-_ZN6Magick8ColorHSLD2Ev
-_ZN6Magick8ColorHSLD1Ev
-_ZN6Magick8ColorHSLD0Ev
-_ZN6Magick8ColorHSL3hueEd
-_ZNK6Magick8ColorHSL3hueEv
-_ZN6Magick8ColorHSL10saturationEd
-_ZNK6Magick8ColorHSL10saturationEv
-_ZN6Magick8ColorHSL10luminosityEd
-_ZNK6Magick8ColorHSL10luminosityEv
-_ZN6Magick8ColorHSLaSERKNS_5ColorE
-_ZN6Magick9ColorGrayC2Ed
-_ZN6Magick9ColorGrayC1Ed
-_ZN6Magick9ColorGrayC2Ev
-_ZN6Magick9ColorGrayC1Ev
-_ZN6Magick9ColorGrayC2ERKNS_5ColorE
-_ZN6Magick9ColorGrayC1ERKNS_5ColorE
-_ZN6Magick9ColorGrayD2Ev
-_ZN6Magick9ColorGrayD1Ev
-_ZN6Magick9ColorGrayD0Ev
-_ZN6Magick9ColorGray5shadeEd
-_ZNK6Magick9ColorGray5shadeEv
-_ZN6Magick9ColorGrayaSERKNS_5ColorE
-_ZN6Magick9ColorMonoC2Eb
-_ZN6Magick9ColorMonoC1Eb
-_ZN6Magick9ColorMonoC2Ev
-_ZN6Magick9ColorMonoC1Ev
-_ZN6Magick9ColorMonoC2ERKNS_5ColorE
-_ZN6Magick9ColorMonoC1ERKNS_5ColorE
-_ZN6Magick9ColorMonoD2Ev
-_ZN6Magick9ColorMonoD1Ev
-_ZN6Magick9ColorMonoD0Ev
-_ZN6Magick9ColorMono4monoEb
-_ZNK6Magick9ColorMono4monoEv
-_ZN6Magick9ColorMonoaSERKNS_5ColorE
-_ZN6Magick8ColorRGBC2Eddd
-_ZN6Magick8ColorRGBC1Eddd
-_ZN6Magick8ColorRGBC2Ev
-_ZN6Magick8ColorRGBC1Ev
-_ZN6Magick8ColorRGBC2ERKNS_5ColorE
-_ZN6Magick8ColorRGBC1ERKNS_5ColorE
-_ZN6Magick8ColorRGBD2Ev
-_ZN6Magick8ColorRGBD1Ev
-_ZN6Magick8ColorRGBD0Ev
-_ZN6Magick8ColorRGBaSERKNS_5ColorE
-_ZN6Magick8ColorYUVC2Eddd
-_ZN6Magick8ColorYUVC1Eddd
-_ZN6Magick8ColorYUVC2Ev
-_ZN6Magick8ColorYUVC1Ev
-_ZN6Magick8ColorYUVC2ERKNS_5ColorE
-_ZN6Magick8ColorYUVC1ERKNS_5ColorE
-_ZN6Magick8ColorYUVD2Ev
-_ZN6Magick8ColorYUVD1Ev
-_ZN6Magick8ColorYUVD0Ev
-_ZN6Magick8ColorYUV1uEd
-_ZNK6Magick8ColorYUV1uEv
-_ZN6Magick8ColorYUV1vEd
-_ZNK6Magick8ColorYUV1vEv
-_ZN6Magick8ColorYUV1yEd
-_ZNK6Magick8ColorYUV1yEv
-_ZN6Magick8ColorYUVaSERKNS_5ColorE
-_ZN6Magick5ColorD1Ev
-_ZN6Magick5ColorD0Ev
-_ZN6MagickeqERKNS_10CoordinateES2_
-_ZN6MagickneERKNS_10CoordinateES2_
-_ZN6MagickgtERKNS_10CoordinateES2_
-_ZN6MagickltERKNS_10CoordinateES2_
-_ZN6MagickgeERKNS_10CoordinateES2_
-_ZN6MagickleERKNS_10CoordinateES2_
-_ZN6Magick12DrawableBaseD2Ev
-_ZN6Magick12DrawableBaseD1Ev
-_ZN6Magick12DrawableBaseD0Ev
-_ZN6Magick8DrawableC2Ev
-_ZN6Magick8DrawableC1Ev
-_ZN6Magick8DrawableC2ERKNS_12DrawableBaseE
-_ZN6Magick8DrawableC1ERKNS_12DrawableBaseE
-_ZN6Magick8DrawableD2Ev
-_ZN6Magick8DrawableD1Ev
-_ZN6Magick8DrawableC2ERKS0_
-_ZN6Magick8DrawableC1ERKS0_
-_ZN6Magick8DrawableaSERKS0_
-_ZNK6Magick8DrawableclEPN9MagickLib12_DrawContextE
-_ZN6Magick9VPathBaseD2Ev
-_ZN6Magick9VPathBaseD1Ev
-_ZN6Magick9VPathBaseD0Ev
-_ZN6Magick5VPathC2Ev
-_ZN6Magick5VPathC1Ev
-_ZN6Magick5VPathC2ERKNS_9VPathBaseE
-_ZN6Magick5VPathC1ERKNS_9VPathBaseE
-_ZN6Magick5VPathD2Ev
-_ZN6Magick5VPathD1Ev
-_ZN6Magick5VPathD0Ev
-_ZN6Magick5VPathC2ERKS0_
-_ZN6Magick5VPathC1ERKS0_
-_ZN6Magick5VPathaSERKS0_
-_ZNK6Magick5VPathclEPN9MagickLib12_DrawContextE
-_ZN6Magick14DrawableAffineC2Edddddd
-_ZN6Magick14DrawableAffineC1Edddddd
-_ZN6Magick14DrawableAffineC2Ev
-_ZN6Magick14DrawableAffineC1Ev
-_ZN6Magick14DrawableAffineD2Ev
-_ZN6Magick14DrawableAffineD1Ev
-_ZN6Magick14DrawableAffineD0Ev
-_ZNK6Magick14DrawableAffineclEPN9MagickLib12_DrawContextE
-_ZNK6Magick14DrawableAffine4copyEv
-_ZN6Magick11DrawableArcD2Ev
-_ZN6Magick11DrawableArcD1Ev
-_ZN6Magick11DrawableArcD0Ev
-_ZNK6Magick11DrawableArcclEPN9MagickLib12_DrawContextE
-_ZNK6Magick11DrawableArc4copyEv
-_ZN6Magick14DrawableBezierC2ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick14DrawableBezierC1ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick14DrawableBezierC2ERKS0_
-_ZN6Magick14DrawableBezierC1ERKS0_
-_ZN6Magick14DrawableBezierD2Ev
-_ZN6Magick14DrawableBezierD1Ev
-_ZN6Magick14DrawableBezierD0Ev
-_ZNK6Magick14DrawableBezierclEPN9MagickLib12_DrawContextE
-_ZNK6Magick14DrawableBezier4copyEv
-_ZN6Magick14DrawableCircleD2Ev
-_ZN6Magick14DrawableCircleD1Ev
-_ZN6Magick14DrawableCircleD0Ev
-_ZNK6Magick14DrawableCircleclEPN9MagickLib12_DrawContextE
-_ZNK6Magick14DrawableCircle4copyEv
-_ZN6Magick13DrawableColorD2Ev
-_ZN6Magick13DrawableColorD1Ev
-_ZN6Magick13DrawableColorD0Ev
-_ZNK6Magick13DrawableColorclEPN9MagickLib12_DrawContextE
-_ZNK6Magick13DrawableColor4copyEv
-_ZN6Magick22DrawableCompositeImageC2EddddRKSsN9MagickLib17CompositeOperatorE
-_ZN6Magick22DrawableCompositeImageC1EddddRKSsN9MagickLib17CompositeOperatorE
-_ZN6Magick22DrawableCompositeImageC2EddddRKNS_5ImageEN9MagickLib17CompositeOperatorE
-_ZN6Magick22DrawableCompositeImageC1EddddRKNS_5ImageEN9MagickLib17CompositeOperatorE
-_ZN6Magick22DrawableCompositeImageC2EddddRKSs
-_ZN6Magick22DrawableCompositeImageC1EddddRKSs
-_ZN6Magick22DrawableCompositeImageC2EddddRKNS_5ImageE
-_ZN6Magick22DrawableCompositeImageC1EddddRKNS_5ImageE
-_ZN6Magick22DrawableCompositeImageC2EddRKSs
-_ZN6Magick22DrawableCompositeImageC1EddRKSs
-_ZN6Magick22DrawableCompositeImageC2EddRKNS_5ImageE
-_ZN6Magick22DrawableCompositeImageC1EddRKNS_5ImageE
-_ZN6Magick22DrawableCompositeImageC2ERKS0_
-_ZN6Magick22DrawableCompositeImageC1ERKS0_
-_ZN6Magick22DrawableCompositeImageD2Ev
-_ZN6Magick22DrawableCompositeImageD1Ev
-_ZN6Magick22DrawableCompositeImageD0Ev
-_ZN6Magick22DrawableCompositeImageaSERKS0_
-_ZN6Magick22DrawableCompositeImage8filenameERKSs
-_ZNK6Magick22DrawableCompositeImage8filenameEv
-_ZN6Magick22DrawableCompositeImage5imageERKNS_5ImageE
-_ZNK6Magick22DrawableCompositeImage5imageEv
-_ZN6Magick22DrawableCompositeImage6magickESs
-_ZN6Magick22DrawableCompositeImage6magickEv
-_ZNK6Magick22DrawableCompositeImageclEPN9MagickLib12_DrawContextE
-_ZNK6Magick22DrawableCompositeImage4copyEv
-_ZN6Magick15DrawableEllipseD2Ev
-_ZN6Magick15DrawableEllipseD1Ev
-_ZN6Magick15DrawableEllipseD0Ev
-_ZNK6Magick15DrawableEllipseclEPN9MagickLib12_DrawContextE
-_ZNK6Magick15DrawableEllipse4copyEv
-_ZN6Magick17DrawableFillColorC2ERKNS_5ColorE
-_ZN6Magick17DrawableFillColorC1ERKNS_5ColorE
-_ZN6Magick17DrawableFillColorC2ERKS0_
-_ZN6Magick17DrawableFillColorC1ERKS0_
-_ZN6Magick17DrawableFillColorD2Ev
-_ZN6Magick17DrawableFillColorD1Ev
-_ZN6Magick17DrawableFillColorD0Ev
-_ZNK6Magick17DrawableFillColorclEPN9MagickLib12_DrawContextE
-_ZNK6Magick17DrawableFillColor4copyEv
-_ZN6Magick16DrawableFillRuleD2Ev
-_ZN6Magick16DrawableFillRuleD1Ev
-_ZN6Magick16DrawableFillRuleD0Ev
-_ZNK6Magick16DrawableFillRuleclEPN9MagickLib12_DrawContextE
-_ZNK6Magick16DrawableFillRule4copyEv
-_ZN6Magick19DrawableFillOpacityD2Ev
-_ZN6Magick19DrawableFillOpacityD1Ev
-_ZN6Magick19DrawableFillOpacityD0Ev
-_ZNK6Magick19DrawableFillOpacityclEPN9MagickLib12_DrawContextE
-_ZNK6Magick19DrawableFillOpacity4copyEv
-_ZN6Magick12DrawableFontC2ERKSs
-_ZN6Magick12DrawableFontC1ERKSs
-_ZN6Magick12DrawableFontC2ERKSsN9MagickLib9StyleTypeEmNS3_11StretchTypeE
-_ZN6Magick12DrawableFontC1ERKSsN9MagickLib9StyleTypeEmNS3_11StretchTypeE
-_ZN6Magick12DrawableFontC2ERKS0_
-_ZN6Magick12DrawableFontC1ERKS0_
-_ZN6Magick12DrawableFontD2Ev
-_ZN6Magick12DrawableFontD1Ev
-_ZN6Magick12DrawableFontD0Ev
-_ZNK6Magick12DrawableFontclEPN9MagickLib12_DrawContextE
-_ZNK6Magick12DrawableFont4copyEv
-_ZN6Magick15DrawableGravityD2Ev
-_ZN6Magick15DrawableGravityD1Ev
-_ZN6Magick15DrawableGravityD0Ev
-_ZNK6Magick15DrawableGravityclEPN9MagickLib12_DrawContextE
-_ZNK6Magick15DrawableGravity4copyEv
-_ZN6Magick12DrawableLineD2Ev
-_ZN6Magick12DrawableLineD1Ev
-_ZN6Magick12DrawableLineD0Ev
-_ZNK6Magick12DrawableLineclEPN9MagickLib12_DrawContextE
-_ZNK6Magick12DrawableLine4copyEv
-_ZN6Magick13DrawableMatteD2Ev
-_ZN6Magick13DrawableMatteD1Ev
-_ZN6Magick13DrawableMatteD0Ev
-_ZNK6Magick13DrawableMatteclEPN9MagickLib12_DrawContextE
-_ZNK6Magick13DrawableMatte4copyEv
-_ZN6Magick12DrawablePathC2ERKSt4listINS_5VPathESaIS2_EE
-_ZN6Magick12DrawablePathC1ERKSt4listINS_5VPathESaIS2_EE
-_ZN6Magick12DrawablePathC2ERKS0_
-_ZN6Magick12DrawablePathC1ERKS0_
-_ZN6Magick12DrawablePathD2Ev
-_ZN6Magick12DrawablePathD1Ev
-_ZN6Magick12DrawablePathD0Ev
-_ZNK6Magick12DrawablePathclEPN9MagickLib12_DrawContextE
-_ZNK6Magick12DrawablePath4copyEv
-_ZN6Magick13DrawablePointD2Ev
-_ZN6Magick13DrawablePointD1Ev
-_ZN6Magick13DrawablePointD0Ev
-_ZNK6Magick13DrawablePointclEPN9MagickLib12_DrawContextE
-_ZNK6Magick13DrawablePoint4copyEv
-_ZN6Magick17DrawablePointSizeD2Ev
-_ZN6Magick17DrawablePointSizeD1Ev
-_ZN6Magick17DrawablePointSizeD0Ev
-_ZNK6Magick17DrawablePointSizeclEPN9MagickLib12_DrawContextE
-_ZNK6Magick17DrawablePointSize4copyEv
-_ZN6Magick15DrawablePolygonC2ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick15DrawablePolygonC1ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick15DrawablePolygonC2ERKS0_
-_ZN6Magick15DrawablePolygonC1ERKS0_
-_ZN6Magick15DrawablePolygonD2Ev
-_ZN6Magick15DrawablePolygonD1Ev
-_ZN6Magick15DrawablePolygonD0Ev
-_ZNK6Magick15DrawablePolygonclEPN9MagickLib12_DrawContextE
-_ZNK6Magick15DrawablePolygon4copyEv
-_ZN6Magick16DrawablePolylineC2ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick16DrawablePolylineC1ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick16DrawablePolylineC2ERKS0_
-_ZN6Magick16DrawablePolylineC1ERKS0_
-_ZN6Magick16DrawablePolylineD2Ev
-_ZN6Magick16DrawablePolylineD1Ev
-_ZN6Magick16DrawablePolylineD0Ev
-_ZNK6Magick16DrawablePolylineclEPN9MagickLib12_DrawContextE
-_ZNK6Magick16DrawablePolyline4copyEv
-_ZN6Magick25DrawablePopGraphicContextD2Ev
-_ZN6Magick25DrawablePopGraphicContextD1Ev
-_ZN6Magick25DrawablePopGraphicContextD0Ev
-_ZNK6Magick25DrawablePopGraphicContextclEPN9MagickLib12_DrawContextE
-_ZNK6Magick25DrawablePopGraphicContext4copyEv
-_ZN6Magick26DrawablePushGraphicContextD2Ev
-_ZN6Magick26DrawablePushGraphicContextD1Ev
-_ZN6Magick26DrawablePushGraphicContextD0Ev
-_ZNK6Magick26DrawablePushGraphicContextclEPN9MagickLib12_DrawContextE
-_ZNK6Magick26DrawablePushGraphicContext4copyEv
-_ZN6Magick18DrawablePopPatternD2Ev
-_ZN6Magick18DrawablePopPatternD1Ev
-_ZN6Magick18DrawablePopPatternD0Ev
-_ZNK6Magick18DrawablePopPatternclEPN9MagickLib12_DrawContextE
-_ZNK6Magick18DrawablePopPattern4copyEv
-_ZN6Magick19DrawablePushPatternC2ERKSsllll
-_ZN6Magick19DrawablePushPatternC1ERKSsllll
-_ZN6Magick19DrawablePushPatternC2ERKS0_
-_ZN6Magick19DrawablePushPatternC1ERKS0_
-_ZN6Magick19DrawablePushPatternD2Ev
-_ZN6Magick19DrawablePushPatternD1Ev
-_ZN6Magick19DrawablePushPatternD0Ev
-_ZNK6Magick19DrawablePushPatternclEPN9MagickLib12_DrawContextE
-_ZNK6Magick19DrawablePushPattern4copyEv
-_ZN6Magick17DrawableRectangleD2Ev
-_ZN6Magick17DrawableRectangleD1Ev
-_ZN6Magick17DrawableRectangleD0Ev
-_ZNK6Magick17DrawableRectangleclEPN9MagickLib12_DrawContextE
-_ZNK6Magick17DrawableRectangle4copyEv
-_ZN6Magick16DrawableRotationD2Ev
-_ZN6Magick16DrawableRotationD1Ev
-_ZN6Magick16DrawableRotationD0Ev
-_ZNK6Magick16DrawableRotationclEPN9MagickLib12_DrawContextE
-_ZNK6Magick16DrawableRotation4copyEv
-_ZN6Magick22DrawableRoundRectangleD2Ev
-_ZN6Magick22DrawableRoundRectangleD1Ev
-_ZN6Magick22DrawableRoundRectangleD0Ev
-_ZNK6Magick22DrawableRoundRectangleclEPN9MagickLib12_DrawContextE
-_ZNK6Magick22DrawableRoundRectangle4copyEv
-_ZN6Magick15DrawableScalingD2Ev
-_ZN6Magick15DrawableScalingD1Ev
-_ZN6Magick15DrawableScalingD0Ev
-_ZNK6Magick15DrawableScalingclEPN9MagickLib12_DrawContextE
-_ZNK6Magick15DrawableScaling4copyEv
-_ZN6Magick13DrawableSkewXD2Ev
-_ZN6Magick13DrawableSkewXD1Ev
-_ZN6Magick13DrawableSkewXD0Ev
-_ZNK6Magick13DrawableSkewXclEPN9MagickLib12_DrawContextE
-_ZNK6Magick13DrawableSkewX4copyEv
-_ZN6Magick13DrawableSkewYD2Ev
-_ZN6Magick13DrawableSkewYD1Ev
-_ZN6Magick13DrawableSkewYD0Ev
-_ZNK6Magick13DrawableSkewYclEPN9MagickLib12_DrawContextE
-_ZNK6Magick13DrawableSkewY4copyEv
-_ZN6Magick17DrawableDashArrayC2EPKd
-_ZN6Magick17DrawableDashArrayC1EPKd
-_ZN6Magick17DrawableDashArrayC2EPKj
-_ZN6Magick17DrawableDashArrayC1EPKj
-_ZN6Magick17DrawableDashArrayC2ERKS0_
-_ZN6Magick17DrawableDashArrayC1ERKS0_
-_ZN6Magick17DrawableDashArrayD2Ev
-_ZN6Magick17DrawableDashArrayD1Ev
-_ZN6Magick17DrawableDashArrayD0Ev
-_ZN6Magick17DrawableDashArrayaSERKS0_
-_ZNK6Magick17DrawableDashArrayclEPN9MagickLib12_DrawContextE
-_ZNK6Magick17DrawableDashArray4copyEv
-_ZN6Magick17DrawableDashArray9dasharrayEPKd
-_ZN6Magick17DrawableDashArray9dasharrayEPKj
-_ZN6Magick18DrawableDashOffsetD2Ev
-_ZN6Magick18DrawableDashOffsetD1Ev
-_ZN6Magick18DrawableDashOffsetD0Ev
-_ZNK6Magick18DrawableDashOffsetclEPN9MagickLib12_DrawContextE
-_ZNK6Magick18DrawableDashOffset4copyEv
-_ZN6Magick21DrawableStrokeLineCapD2Ev
-_ZN6Magick21DrawableStrokeLineCapD1Ev
-_ZN6Magick21DrawableStrokeLineCapD0Ev
-_ZNK6Magick21DrawableStrokeLineCapclEPN9MagickLib12_DrawContextE
-_ZNK6Magick21DrawableStrokeLineCap4copyEv
-_ZN6Magick22DrawableStrokeLineJoinD2Ev
-_ZN6Magick22DrawableStrokeLineJoinD1Ev
-_ZN6Magick22DrawableStrokeLineJoinD0Ev
-_ZNK6Magick22DrawableStrokeLineJoinclEPN9MagickLib12_DrawContextE
-_ZNK6Magick22DrawableStrokeLineJoin4copyEv
-_ZN6Magick18DrawableMiterLimitD2Ev
-_ZN6Magick18DrawableMiterLimitD1Ev
-_ZN6Magick18DrawableMiterLimitD0Ev
-_ZNK6Magick18DrawableMiterLimitclEPN9MagickLib12_DrawContextE
-_ZNK6Magick18DrawableMiterLimit4copyEv
-_ZN6Magick23DrawableStrokeAntialiasD2Ev
-_ZN6Magick23DrawableStrokeAntialiasD1Ev
-_ZN6Magick23DrawableStrokeAntialiasD0Ev
-_ZNK6Magick23DrawableStrokeAntialiasclEPN9MagickLib12_DrawContextE
-_ZNK6Magick23DrawableStrokeAntialias4copyEv
-_ZN6Magick19DrawableStrokeColorC2ERKNS_5ColorE
-_ZN6Magick19DrawableStrokeColorC1ERKNS_5ColorE
-_ZN6Magick19DrawableStrokeColorC2ERKS0_
-_ZN6Magick19DrawableStrokeColorC1ERKS0_
-_ZN6Magick19DrawableStrokeColorD2Ev
-_ZN6Magick19DrawableStrokeColorD1Ev
-_ZN6Magick19DrawableStrokeColorD0Ev
-_ZNK6Magick19DrawableStrokeColorclEPN9MagickLib12_DrawContextE
-_ZNK6Magick19DrawableStrokeColor4copyEv
-_ZN6Magick21DrawableStrokeOpacityD2Ev
-_ZN6Magick21DrawableStrokeOpacityD1Ev
-_ZN6Magick21DrawableStrokeOpacityD0Ev
-_ZNK6Magick21DrawableStrokeOpacityclEPN9MagickLib12_DrawContextE
-_ZNK6Magick21DrawableStrokeOpacity4copyEv
-_ZN6Magick19DrawableStrokeWidthD2Ev
-_ZN6Magick19DrawableStrokeWidthD1Ev
-_ZN6Magick19DrawableStrokeWidthD0Ev
-_ZNK6Magick19DrawableStrokeWidthclEPN9MagickLib12_DrawContextE
-_ZNK6Magick19DrawableStrokeWidth4copyEv
-_ZN6Magick12DrawableTextC2EddRKSs
-_ZN6Magick12DrawableTextC1EddRKSs
-_ZN6Magick12DrawableTextC2ERKS0_
-_ZN6Magick12DrawableTextC1ERKS0_
-_ZN6Magick12DrawableTextD2Ev
-_ZN6Magick12DrawableTextD1Ev
-_ZN6Magick12DrawableTextD0Ev
-_ZNK6Magick12DrawableTextclEPN9MagickLib12_DrawContextE
-_ZNK6Magick12DrawableText4copyEv
-_ZN6Magick21DrawableTextAntialiasD2Ev
-_ZN6Magick21DrawableTextAntialiasD1Ev
-_ZN6Magick21DrawableTextAntialiasD0Ev
-_ZNK6Magick21DrawableTextAntialiasclEPN9MagickLib12_DrawContextE
-_ZNK6Magick21DrawableTextAntialias4copyEv
-_ZN6Magick22DrawableTextDecorationD2Ev
-_ZN6Magick22DrawableTextDecorationD1Ev
-_ZN6Magick22DrawableTextDecorationD0Ev
-_ZNK6Magick22DrawableTextDecorationclEPN9MagickLib12_DrawContextE
-_ZNK6Magick22DrawableTextDecoration4copyEv
-_ZN6Magick22DrawableTextUnderColorC2ERKNS_5ColorE
-_ZN6Magick22DrawableTextUnderColorC1ERKNS_5ColorE
-_ZN6Magick22DrawableTextUnderColorC2ERKS0_
-_ZN6Magick22DrawableTextUnderColorC1ERKS0_
-_ZN6Magick22DrawableTextUnderColorD2Ev
-_ZN6Magick22DrawableTextUnderColorD1Ev
-_ZN6Magick22DrawableTextUnderColorD0Ev
-_ZNK6Magick22DrawableTextUnderColorclEPN9MagickLib12_DrawContextE
-_ZNK6Magick22DrawableTextUnderColor4copyEv
-_ZN6Magick19DrawableTranslationD2Ev
-_ZN6Magick19DrawableTranslationD1Ev
-_ZN6Magick19DrawableTranslationD0Ev
-_ZNK6Magick19DrawableTranslationclEPN9MagickLib12_DrawContextE
-_ZNK6Magick19DrawableTranslation4copyEv
-_ZN6Magick15DrawableViewboxD2Ev
-_ZN6Magick15DrawableViewboxD1Ev
-_ZN6Magick15DrawableViewboxD0Ev
-_ZNK6Magick15DrawableViewboxclEPN9MagickLib12_DrawContextE
-_ZNK6Magick15DrawableViewbox4copyEv
-_ZN6Magick10PathArcAbsC2ERKNS_11PathArcArgsE
-_ZN6Magick10PathArcAbsC1ERKNS_11PathArcArgsE
-_ZN6Magick10PathArcAbsC2ERKSt4listINS_11PathArcArgsESaIS2_EE
-_ZN6Magick10PathArcAbsC1ERKSt4listINS_11PathArcArgsESaIS2_EE
-_ZN6Magick10PathArcAbsC2ERKS0_
-_ZN6Magick10PathArcAbsC1ERKS0_
-_ZN6Magick10PathArcAbsD2Ev
-_ZN6Magick10PathArcAbsD1Ev
-_ZN6Magick10PathArcAbsD0Ev
-_ZNK6Magick10PathArcAbsclEPN9MagickLib12_DrawContextE
-_ZNK6Magick10PathArcAbs4copyEv
-_ZN6Magick10PathArcRelC2ERKNS_11PathArcArgsE
-_ZN6Magick10PathArcRelC1ERKNS_11PathArcArgsE
-_ZN6Magick10PathArcRelC2ERKSt4listINS_11PathArcArgsESaIS2_EE
-_ZN6Magick10PathArcRelC1ERKSt4listINS_11PathArcArgsESaIS2_EE
-_ZN6Magick10PathArcRelC2ERKS0_
-_ZN6Magick10PathArcRelC1ERKS0_
-_ZN6Magick10PathArcRelD2Ev
-_ZN6Magick10PathArcRelD1Ev
-_ZN6Magick10PathArcRelD0Ev
-_ZNK6Magick10PathArcRelclEPN9MagickLib12_DrawContextE
-_ZNK6Magick10PathArcRel4copyEv
-_ZN6Magick13PathClosePathD2Ev
-_ZN6Magick13PathClosePathD1Ev
-_ZN6Magick13PathClosePathD0Ev
-_ZNK6Magick13PathClosePathclEPN9MagickLib12_DrawContextE
-_ZNK6Magick13PathClosePath4copyEv
-_ZN6Magick14PathCurvetoAbsC2ERKNS_15PathCurvetoArgsE
-_ZN6Magick14PathCurvetoAbsC1ERKNS_15PathCurvetoArgsE
-_ZN6Magick14PathCurvetoAbsC2ERKSt4listINS_15PathCurvetoArgsESaIS2_EE
-_ZN6Magick14PathCurvetoAbsC1ERKSt4listINS_15PathCurvetoArgsESaIS2_EE
-_ZN6Magick14PathCurvetoAbsC2ERKS0_
-_ZN6Magick14PathCurvetoAbsC1ERKS0_
-_ZN6Magick14PathCurvetoAbsD2Ev
-_ZN6Magick14PathCurvetoAbsD1Ev
-_ZN6Magick14PathCurvetoAbsD0Ev
-_ZNK6Magick14PathCurvetoAbsclEPN9MagickLib12_DrawContextE
-_ZNK6Magick14PathCurvetoAbs4copyEv
-_ZN6Magick14PathCurvetoRelC2ERKNS_15PathCurvetoArgsE
-_ZN6Magick14PathCurvetoRelC1ERKNS_15PathCurvetoArgsE
-_ZN6Magick14PathCurvetoRelC2ERKSt4listINS_15PathCurvetoArgsESaIS2_EE
-_ZN6Magick14PathCurvetoRelC1ERKSt4listINS_15PathCurvetoArgsESaIS2_EE
-_ZN6Magick14PathCurvetoRelC2ERKS0_
-_ZN6Magick14PathCurvetoRelC1ERKS0_
-_ZN6Magick14PathCurvetoRelD2Ev
-_ZN6Magick14PathCurvetoRelD1Ev
-_ZN6Magick14PathCurvetoRelD0Ev
-_ZNK6Magick14PathCurvetoRelclEPN9MagickLib12_DrawContextE
-_ZNK6Magick14PathCurvetoRel4copyEv
-_ZN6Magick20PathSmoothCurvetoAbsC2ERKNS_10CoordinateE
-_ZN6Magick20PathSmoothCurvetoAbsC1ERKNS_10CoordinateE
-_ZN6Magick20PathSmoothCurvetoAbsC2ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick20PathSmoothCurvetoAbsC1ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick20PathSmoothCurvetoAbsC2ERKS0_
-_ZN6Magick20PathSmoothCurvetoAbsC1ERKS0_
-_ZN6Magick20PathSmoothCurvetoAbsD2Ev
-_ZN6Magick20PathSmoothCurvetoAbsD1Ev
-_ZN6Magick20PathSmoothCurvetoAbsD0Ev
-_ZNK6Magick20PathSmoothCurvetoAbsclEPN9MagickLib12_DrawContextE
-_ZNK6Magick20PathSmoothCurvetoAbs4copyEv
-_ZN6Magick20PathSmoothCurvetoRelC2ERKNS_10CoordinateE
-_ZN6Magick20PathSmoothCurvetoRelC1ERKNS_10CoordinateE
-_ZN6Magick20PathSmoothCurvetoRelC2ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick20PathSmoothCurvetoRelC1ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick20PathSmoothCurvetoRelC2ERKS0_
-_ZN6Magick20PathSmoothCurvetoRelC1ERKS0_
-_ZN6Magick20PathSmoothCurvetoRelD2Ev
-_ZN6Magick20PathSmoothCurvetoRelD1Ev
-_ZN6Magick20PathSmoothCurvetoRelD0Ev
-_ZNK6Magick20PathSmoothCurvetoRelclEPN9MagickLib12_DrawContextE
-_ZNK6Magick20PathSmoothCurvetoRel4copyEv
-_ZN6Magick23PathQuadraticCurvetoAbsC2ERKNS_24PathQuadraticCurvetoArgsE
-_ZN6Magick23PathQuadraticCurvetoAbsC1ERKNS_24PathQuadraticCurvetoArgsE
-_ZN6Magick23PathQuadraticCurvetoAbsC2ERKSt4listINS_24PathQuadraticCurvetoArgsESaIS2_EE
-_ZN6Magick23PathQuadraticCurvetoAbsC1ERKSt4listINS_24PathQuadraticCurvetoArgsESaIS2_EE
-_ZN6Magick23PathQuadraticCurvetoAbsC2ERKS0_
-_ZN6Magick23PathQuadraticCurvetoAbsC1ERKS0_
-_ZN6Magick23PathQuadraticCurvetoAbsD2Ev
-_ZN6Magick23PathQuadraticCurvetoAbsD1Ev
-_ZN6Magick23PathQuadraticCurvetoAbsD0Ev
-_ZNK6Magick23PathQuadraticCurvetoAbsclEPN9MagickLib12_DrawContextE
-_ZNK6Magick23PathQuadraticCurvetoAbs4copyEv
-_ZN6Magick23PathQuadraticCurvetoRelC2ERKNS_24PathQuadraticCurvetoArgsE
-_ZN6Magick23PathQuadraticCurvetoRelC1ERKNS_24PathQuadraticCurvetoArgsE
-_ZN6Magick23PathQuadraticCurvetoRelC2ERKSt4listINS_24PathQuadraticCurvetoArgsESaIS2_EE
-_ZN6Magick23PathQuadraticCurvetoRelC1ERKSt4listINS_24PathQuadraticCurvetoArgsESaIS2_EE
-_ZN6Magick23PathQuadraticCurvetoRelC2ERKS0_
-_ZN6Magick23PathQuadraticCurvetoRelC1ERKS0_
-_ZN6Magick23PathQuadraticCurvetoRelD2Ev
-_ZN6Magick23PathQuadraticCurvetoRelD1Ev
-_ZN6Magick23PathQuadraticCurvetoRelD0Ev
-_ZNK6Magick23PathQuadraticCurvetoRelclEPN9MagickLib12_DrawContextE
-_ZNK6Magick23PathQuadraticCurvetoRel4copyEv
-_ZN6Magick29PathSmoothQuadraticCurvetoAbsC2ERKNS_10CoordinateE
-_ZN6Magick29PathSmoothQuadraticCurvetoAbsC1ERKNS_10CoordinateE
-_ZN6Magick29PathSmoothQuadraticCurvetoAbsC2ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick29PathSmoothQuadraticCurvetoAbsC1ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick29PathSmoothQuadraticCurvetoAbsC2ERKS0_
-_ZN6Magick29PathSmoothQuadraticCurvetoAbsC1ERKS0_
-_ZN6Magick29PathSmoothQuadraticCurvetoAbsD2Ev
-_ZN6Magick29PathSmoothQuadraticCurvetoAbsD1Ev
-_ZN6Magick29PathSmoothQuadraticCurvetoAbsD0Ev
-_ZNK6Magick29PathSmoothQuadraticCurvetoAbsclEPN9MagickLib12_DrawContextE
-_ZNK6Magick29PathSmoothQuadraticCurvetoAbs4copyEv
-_ZN6Magick29PathSmoothQuadraticCurvetoRelC2ERKNS_10CoordinateE
-_ZN6Magick29PathSmoothQuadraticCurvetoRelC1ERKNS_10CoordinateE
-_ZN6Magick29PathSmoothQuadraticCurvetoRelC2ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick29PathSmoothQuadraticCurvetoRelC1ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick29PathSmoothQuadraticCurvetoRelC2ERKS0_
-_ZN6Magick29PathSmoothQuadraticCurvetoRelC1ERKS0_
-_ZN6Magick29PathSmoothQuadraticCurvetoRelD2Ev
-_ZN6Magick29PathSmoothQuadraticCurvetoRelD1Ev
-_ZN6Magick29PathSmoothQuadraticCurvetoRelD0Ev
-_ZNK6Magick29PathSmoothQuadraticCurvetoRelclEPN9MagickLib12_DrawContextE
-_ZNK6Magick29PathSmoothQuadraticCurvetoRel4copyEv
-_ZN6Magick13PathLinetoAbsC2ERKNS_10CoordinateE
-_ZN6Magick13PathLinetoAbsC1ERKNS_10CoordinateE
-_ZN6Magick13PathLinetoAbsC2ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick13PathLinetoAbsC1ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick13PathLinetoAbsC2ERKS0_
-_ZN6Magick13PathLinetoAbsC1ERKS0_
-_ZN6Magick13PathLinetoAbsD2Ev
-_ZN6Magick13PathLinetoAbsD1Ev
-_ZN6Magick13PathLinetoAbsD0Ev
-_ZNK6Magick13PathLinetoAbsclEPN9MagickLib12_DrawContextE
-_ZNK6Magick13PathLinetoAbs4copyEv
-_ZN6Magick13PathLinetoRelC2ERKNS_10CoordinateE
-_ZN6Magick13PathLinetoRelC1ERKNS_10CoordinateE
-_ZN6Magick13PathLinetoRelC2ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick13PathLinetoRelC1ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick13PathLinetoRelC2ERKS0_
-_ZN6Magick13PathLinetoRelC1ERKS0_
-_ZN6Magick13PathLinetoRelD2Ev
-_ZN6Magick13PathLinetoRelD1Ev
-_ZN6Magick13PathLinetoRelD0Ev
-_ZNK6Magick13PathLinetoRelclEPN9MagickLib12_DrawContextE
-_ZNK6Magick13PathLinetoRel4copyEv
-_ZN6Magick23PathLinetoHorizontalAbsD2Ev
-_ZN6Magick23PathLinetoHorizontalAbsD1Ev
-_ZN6Magick23PathLinetoHorizontalAbsD0Ev
-_ZNK6Magick23PathLinetoHorizontalAbsclEPN9MagickLib12_DrawContextE
-_ZNK6Magick23PathLinetoHorizontalAbs4copyEv
-_ZN6Magick23PathLinetoHorizontalRelD2Ev
-_ZN6Magick23PathLinetoHorizontalRelD1Ev
-_ZN6Magick23PathLinetoHorizontalRelD0Ev
-_ZNK6Magick23PathLinetoHorizontalRelclEPN9MagickLib12_DrawContextE
-_ZNK6Magick23PathLinetoHorizontalRel4copyEv
-_ZN6Magick21PathLinetoVerticalAbsD2Ev
-_ZN6Magick21PathLinetoVerticalAbsD1Ev
-_ZN6Magick21PathLinetoVerticalAbsD0Ev
-_ZNK6Magick21PathLinetoVerticalAbsclEPN9MagickLib12_DrawContextE
-_ZNK6Magick21PathLinetoVerticalAbs4copyEv
-_ZN6Magick21PathLinetoVerticalRelD2Ev
-_ZN6Magick21PathLinetoVerticalRelD1Ev
-_ZN6Magick21PathLinetoVerticalRelD0Ev
-_ZNK6Magick21PathLinetoVerticalRelclEPN9MagickLib12_DrawContextE
-_ZNK6Magick21PathLinetoVerticalRel4copyEv
-_ZN6Magick13PathMovetoAbsC2ERKNS_10CoordinateE
-_ZN6Magick13PathMovetoAbsC1ERKNS_10CoordinateE
-_ZN6Magick13PathMovetoAbsC2ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick13PathMovetoAbsC1ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick13PathMovetoAbsC2ERKS0_
-_ZN6Magick13PathMovetoAbsC1ERKS0_
-_ZN6Magick13PathMovetoAbsD2Ev
-_ZN6Magick13PathMovetoAbsD1Ev
-_ZN6Magick13PathMovetoAbsD0Ev
-_ZNK6Magick13PathMovetoAbsclEPN9MagickLib12_DrawContextE
-_ZNK6Magick13PathMovetoAbs4copyEv
-_ZN6Magick13PathMovetoRelC2ERKNS_10CoordinateE
-_ZN6Magick13PathMovetoRelC1ERKNS_10CoordinateE
-_ZN6Magick13PathMovetoRelC2ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick13PathMovetoRelC1ERKSt4listINS_10CoordinateESaIS2_EE
-_ZN6Magick13PathMovetoRelC2ERKS0_
-_ZN6Magick13PathMovetoRelC1ERKS0_
-_ZN6Magick13PathMovetoRelD2Ev
-_ZN6Magick13PathMovetoRelD1Ev
-_ZN6Magick13PathMovetoRelD0Ev
-_ZNK6Magick13PathMovetoRelclEPN9MagickLib12_DrawContextE
-_ZNK6Magick13PathMovetoRel4copyEv
-_ZNSt10_List_baseIN6Magick10CoordinateESaIS1_EE5clearEv
-_ZNSt4listIN6Magick10CoordinateESaIS1_EE18_M_insert_dispatchISt14_List_iteratorIS1_RKS1_PS6_EEEvS5_IS1_RS1_PS1_ET_SD_12__false_type
-_ZNSt10_List_baseIN6Magick5VPathESaIS1_EE5clearEv
-_ZNSt4listIN6Magick5VPathESaIS1_EE18_M_insert_dispatchISt14_List_iteratorIS1_RKS1_PS6_EEEvS5_IS1_RS1_PS1_ET_SD_12__false_type
-_ZNSt10_List_baseIN6Magick11PathArcArgsESaIS1_EE5clearEv
-_ZNSt4listIN6Magick11PathArcArgsESaIS1_EE14_M_fill_insertESt14_List_iteratorIS1_RS1_PS1_EjRKS1_
-_ZNSt4listIN6Magick11PathArcArgsESaIS1_EE18_M_insert_dispatchISt14_List_iteratorIS1_RKS1_PS6_EEEvS5_IS1_RS1_PS1_ET_SD_12__false_type
-_ZNSt10_List_baseIN6Magick15PathCurvetoArgsESaIS1_EE5clearEv
-_ZNSt4listIN6Magick15PathCurvetoArgsESaIS1_EE14_M_fill_insertESt14_List_iteratorIS1_RS1_PS1_EjRKS1_
-_ZNSt4listIN6Magick15PathCurvetoArgsESaIS1_EE18_M_insert_dispatchISt14_List_iteratorIS1_RKS1_PS6_EEEvS5_IS1_RS1_PS1_ET_SD_12__false_type
-_ZNSt4listIN6Magick10CoordinateESaIS1_EE14_M_fill_insertESt14_List_iteratorIS1_RS1_PS1_EjRKS1_
-_ZNSt10_List_baseIN6Magick24PathQuadraticCurvetoArgsESaIS1_EE5clearEv
-_ZNSt4listIN6Magick24PathQuadraticCurvetoArgsESaIS1_EE14_M_fill_insertESt14_List_iteratorIS1_RS1_PS1_EjRKS1_
-_ZNSt4listIN6Magick24PathQuadraticCurvetoArgsESaIS1_EE18_M_insert_dispatchISt14_List_iteratorIS1_RKS1_PS6_EEEvS5_IS1_RS1_PS1_ET_SD_12__false_type
-_ZN6Magick10CoordinateD1Ev
-_ZN6Magick10CoordinateD0Ev
-_ZNSt10_List_baseIN6Magick10CoordinateESaIS1_EED2Ev
-_ZSt10__distanceISt14_List_iteratorIN6Magick10CoordinateERKS2_PS3_EENSt15iterator_traitsIT_E15difference_typeES8_S8_St18input_iterator_tag
-_ZNSt10_List_baseIN6Magick5VPathESaIS1_EED2Ev
-_ZNSt14__simple_allocISt10_List_nodeIN6Magick5VPathEESt24__default_alloc_templateILb1ELi0EEE10deallocateEPS3_j
-_ZNSt10_List_baseIN6Magick11PathArcArgsESaIS1_EED2Ev
-_ZNSt10_List_baseIN6Magick15PathCurvetoArgsESaIS1_EED2Ev
-_ZNSt10_List_baseIN6Magick24PathQuadraticCurvetoArgsESaIS1_EED2Ev
-_ZNSt4listIN6Magick10CoordinateESaIS1_EE14_M_create_nodeERKS1_
-_ZNSt4listIN6Magick11PathArcArgsESaIS1_EE14_M_create_nodeERKS1_
-_ZNSt4listIN6Magick15PathCurvetoArgsESaIS1_EE14_M_create_nodeERKS1_
-_ZNSt4listIN6Magick24PathQuadraticCurvetoArgsESaIS1_EE14_M_create_nodeERKS1_
-_ZN6Magick9ExceptionC2ERKSs
-_ZN6Magick9ExceptionC1ERKSs
-_ZN6Magick9ExceptionC2ERKS0_
-_ZN6Magick9ExceptionC1ERKS0_
-_ZN6Magick9ExceptionaSERKS0_
-_ZNK6Magick9Exception4whatEv
-_ZN6Magick7WarningC2ERKSs
-_ZN6Magick7WarningC1ERKSs
-_ZN6Magick16WarningUndefinedC2ERKSs
-_ZN6Magick16WarningUndefinedC1ERKSs
-_ZN6Magick20WarningResourceLimitC2ERKSs
-_ZN6Magick20WarningResourceLimitC1ERKSs
-_ZN6Magick14WarningXServerC2ERKSs
-_ZN6Magick14WarningXServerC1ERKSs
-_ZN6Magick13WarningOptionC2ERKSs
-_ZN6Magick13WarningOptionC1ERKSs
-_ZN6Magick15WarningDelegateC2ERKSs
-_ZN6Magick15WarningDelegateC1ERKSs
-_ZN6Magick22WarningMissingDelegateC2ERKSs
-_ZN6Magick22WarningMissingDelegateC1ERKSs
-_ZN6Magick19WarningCorruptImageC2ERKSs
-_ZN6Magick19WarningCorruptImageC1ERKSs
-_ZN6Magick15WarningFileOpenC2ERKSs
-_ZN6Magick15WarningFileOpenC1ERKSs
-_ZN6Magick11WarningBlobC2ERKSs
-_ZN6Magick11WarningBlobC1ERKSs
-_ZN6Magick12WarningCacheC2ERKSs
-_ZN6Magick12WarningCacheC1ERKSs
-_ZN6Magick5ErrorC2ERKSs
-_ZN6Magick5ErrorC1ERKSs
-_ZN6Magick14ErrorUndefinedC2ERKSs
-_ZN6Magick14ErrorUndefinedC1ERKSs
-_ZN6Magick18ErrorResourceLimitC2ERKSs
-_ZN6Magick18ErrorResourceLimitC1ERKSs
-_ZN6Magick12ErrorXServerC2ERKSs
-_ZN6Magick12ErrorXServerC1ERKSs
-_ZN6Magick11ErrorOptionC2ERKSs
-_ZN6Magick11ErrorOptionC1ERKSs
-_ZN6Magick13ErrorDelegateC2ERKSs
-_ZN6Magick13ErrorDelegateC1ERKSs
-_ZN6Magick20ErrorMissingDelegateC2ERKSs
-_ZN6Magick20ErrorMissingDelegateC1ERKSs
-_ZN6Magick17ErrorCorruptImageC2ERKSs
-_ZN6Magick17ErrorCorruptImageC1ERKSs
-_ZN6Magick13ErrorFileOpenC2ERKSs
-_ZN6Magick13ErrorFileOpenC1ERKSs
-_ZN6Magick9ErrorBlobC2ERKSs
-_ZN6Magick9ErrorBlobC1ERKSs
-_ZN6Magick10ErrorCacheC2ERKSs
-_ZN6Magick10ErrorCacheC1ERKSs
-_ZN6Magick22throwExceptionExplicitEN9MagickLib13ExceptionTypeEPKcS3_
-_ZN6Magick14throwExceptionERN9MagickLib14_ExceptionInfoE
-_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_
-_ZN6Magick16WarningUndefinedD1Ev
-_ZN6Magick16WarningUndefinedD0Ev
-_ZN6Magick9ExceptionD1Ev
-_ZN6Magick9ExceptionD0Ev
-_ZN6Magick7WarningD0Ev
-_ZN6Magick7WarningD1Ev
-_ZN6Magick20WarningResourceLimitD0Ev
-_ZN6Magick20WarningResourceLimitD1Ev
-_ZN6Magick14WarningXServerD0Ev
-_ZN6Magick14WarningXServerD1Ev
-_ZN6Magick13WarningOptionD0Ev
-_ZN6Magick13WarningOptionD1Ev
-_ZN6Magick15WarningDelegateD0Ev
-_ZN6Magick15WarningDelegateD1Ev
-_ZN6Magick22WarningMissingDelegateD0Ev
-_ZN6Magick22WarningMissingDelegateD1Ev
-_ZN6Magick19WarningCorruptImageD0Ev
-_ZN6Magick19WarningCorruptImageD1Ev
-_ZN6Magick15WarningFileOpenD0Ev
-_ZN6Magick15WarningFileOpenD1Ev
-_ZN6Magick11WarningBlobD0Ev
-_ZN6Magick11WarningBlobD1Ev
-_ZN6Magick12WarningCacheD0Ev
-_ZN6Magick12WarningCacheD1Ev
-_ZN6Magick5ErrorD0Ev
-_ZN6Magick5ErrorD1Ev
-_ZN6Magick14ErrorUndefinedD0Ev
-_ZN6Magick14ErrorUndefinedD1Ev
-_ZN6Magick18ErrorResourceLimitD0Ev
-_ZN6Magick18ErrorResourceLimitD1Ev
-_ZN6Magick12ErrorXServerD0Ev
-_ZN6Magick12ErrorXServerD1Ev
-_ZN6Magick11ErrorOptionD0Ev
-_ZN6Magick11ErrorOptionD1Ev
-_ZN6Magick13ErrorDelegateD0Ev
-_ZN6Magick13ErrorDelegateD1Ev
-_ZN6Magick20ErrorMissingDelegateD0Ev
-_ZN6Magick20ErrorMissingDelegateD1Ev
-_ZN6Magick17ErrorCorruptImageD0Ev
-_ZN6Magick17ErrorCorruptImageD1Ev
-_ZN6Magick13ErrorFileOpenD0Ev
-_ZN6Magick13ErrorFileOpenD1Ev
-_ZN6Magick9ErrorBlobD0Ev
-_ZN6Magick9ErrorBlobD1Ev
-_ZN6Magick10ErrorCacheD0Ev
-_ZN6Magick10ErrorCacheD1Ev
-_ZN6Magick11CloneStringEPPcRKSs
-_ZN6MagickeqERKNS_8GeometryES2_
-_ZN6MagickneERKNS_8GeometryES2_
-_ZN6MagickgtERKNS_8GeometryES2_
-_ZN6MagickltERKNS_8GeometryES2_
-_ZN6MagickgeERKNS_8GeometryES2_
-_ZN6MagickleERKNS_8GeometryES2_
-_ZN6Magick8GeometryC2Ejjjjbb
-_ZN6Magick8GeometryC1Ejjjjbb
-_ZN6Magick8GeometryC2ERKSs
-_ZN6Magick8GeometryC1ERKSs
-_ZN6Magick8GeometryC2EPKc
-_ZN6Magick8GeometryC1EPKc
-_ZN6Magick8GeometryC2ERKS0_
-_ZN6Magick8GeometryC1ERKS0_
-_ZN6Magick8GeometryC2Ev
-_ZN6Magick8GeometryC1Ev
-_ZN6Magick8GeometryD2Ev
-_ZN6Magick8GeometryD1Ev
-_ZN6Magick8GeometryaSERKS0_
-_ZN6Magick8GeometryaSERKSs
-_ZN6Magick8GeometryaSEPKc
-_ZNK6Magick8GeometrycvSsEv
-_ZN6Magick8GeometryC2ERKN9MagickLib14_RectangleInfoE
-_ZN6Magick8GeometryC1ERKN9MagickLib14_RectangleInfoE
-_ZNK6Magick8GeometrycvN9MagickLib14_RectangleInfoEEv
-_ZN6MagickeqERKNS_5ImageES2_
-_ZN6MagickneERKNS_5ImageES2_
-_ZN6MagickgtERKNS_5ImageES2_
-_ZN6MagickltERKNS_5ImageES2_
-_ZN6MagickgeERKNS_5ImageES2_
-_ZN6MagickleERKNS_5ImageES2_
-_ZN6Magick5ImageC2ERKSs
-_ZN6Magick5ImageC1ERKSs
-_ZN6Magick5ImageC2ERKNS_8GeometryERKNS_5ColorE
-_ZN6Magick5ImageC1ERKNS_8GeometryERKNS_5ColorE
-_ZN6Magick5ImageC2ERKNS_4BlobE
-_ZN6Magick5ImageC1ERKNS_4BlobE
-_ZN6Magick5ImageC2ERKNS_4BlobERKNS_8GeometryE
-_ZN6Magick5ImageC1ERKNS_4BlobERKNS_8GeometryE
-_ZN6Magick5ImageC2ERKNS_4BlobERKNS_8GeometryEj
-_ZN6Magick5ImageC1ERKNS_4BlobERKNS_8GeometryEj
-_ZN6Magick5ImageC2ERKNS_4BlobERKNS_8GeometryEjRKSs
-_ZN6Magick5ImageC1ERKNS_4BlobERKNS_8GeometryEjRKSs
-_ZN6Magick5ImageC2ERKNS_4BlobERKNS_8GeometryERKSs
-_ZN6Magick5ImageC1ERKNS_4BlobERKNS_8GeometryERKSs
-_ZN6Magick5ImageC2EjjRKSsN9MagickLib11StorageTypeEPKv
-_ZN6Magick5ImageC1EjjRKSsN9MagickLib11StorageTypeEPKv
-_ZN6Magick5ImageC2Ev
-_ZN6Magick5ImageC1Ev
-_ZN6Magick5ImageD2Ev
-_ZN6Magick5ImageD1Ev
-_ZN6Magick5ImageD0Ev
-_ZN6Magick5Image8addNoiseEN9MagickLib9NoiseTypeE
-_ZN6Magick5Image8annotateERKSsRKNS_8GeometryE
-_ZN6Magick5Image8annotateERKSsRKNS_8GeometryEN9MagickLib11GravityTypeE
-_ZN6Magick5Image8annotateERKSsRKNS_8GeometryEN9MagickLib11GravityTypeEd
-_ZN6Magick5Image8annotateERKSsN9MagickLib11GravityTypeE
-_ZN6Magick5Image4blurEdd
-_ZN6Magick5Image6borderERKNS_8GeometryE
-_ZN6Magick5Image7channelEN9MagickLib11ChannelTypeE
-_ZN6Magick5Image8charcoalEdd
-_ZN6Magick5Image4chopERKNS_8GeometryE
-_ZN6Magick5Image8colorizeEjjjRKNS_5ColorE
-_ZN6Magick5Image8colorizeEjRKNS_5ColorE
-_ZN6Magick5Image9compositeERKS0_iiN9MagickLib17CompositeOperatorE
-_ZN6Magick5Image9compositeERKS0_RKNS_8GeometryEN9MagickLib17CompositeOperatorE
-_ZN6Magick5Image9compositeERKS0_N9MagickLib11GravityTypeENS3_17CompositeOperatorE
-_ZN6Magick5Image8contrastEj
-_ZN6Magick5Image8convolveEjPKd
-_ZN6Magick5Image4cropERKNS_8GeometryE
-_ZN6Magick5Image13cycleColormapEi
-_ZN6Magick5Image9despeckleEv
-_ZN6Magick5Image7displayEv
-_ZN6Magick5Image4drawERKNS_8DrawableE
-_ZN6Magick5Image4drawERKSt4listINS_8DrawableESaIS2_EE
-_ZN6Magick5Image4edgeEd
-_ZN6Magick5Image6embossEdd
-_ZN6Magick5Image7enhanceEv
-_ZN6Magick5Image8equalizeEv
-_ZN6Magick5Image5eraseEv
-_ZN6Magick5Image4flipEv
-_ZN6Magick5Image14floodFillColorEjjRKNS_5ColorE
-_ZN6Magick5Image14floodFillColorERKNS_8GeometryERKNS_5ColorE
-_ZN6Magick5Image14floodFillColorEjjRKNS_5ColorES3_
-_ZN6Magick5Image14floodFillColorERKNS_8GeometryERKNS_5ColorES6_
-_ZN6Magick5Image16floodFillOpacityEjjjN9MagickLib11PaintMethodE
-_ZN6Magick5Image16floodFillTextureEjjRKS0_
-_ZN6Magick5Image16floodFillTextureERKNS_8GeometryERKS0_
-_ZN6Magick5Image16floodFillTextureEjjRKS0_RKNS_5ColorE
-_ZN6Magick5Image16floodFillTextureERKNS_8GeometryERKS0_RKNS_5ColorE
-_ZN6Magick5Image4flopEv
-_ZN6Magick5Image5frameERKNS_8GeometryE
-_ZN6Magick5Image5frameEjjii
-_ZN6Magick5Image5gammaEd
-_ZN6Magick5Image5gammaEddd
-_ZN6Magick5Image12gaussianBlurEdd
-_ZN6Magick5Image7implodeEd
-_ZN6Magick5Image7magnifyEv
-_ZN6Magick5Image3mapERKS0_b
-_ZN6Magick5Image14matteFloodfillERKNS_5ColorEjiiN9MagickLib11PaintMethodE
-_ZN6Magick5Image12medianFilterEd
-_ZN6Magick5Image6minifyEv
-_ZN6Magick5Image8modulateEddd
-_ZN6Magick5Image6negateEb
-_ZN6Magick5Image9normalizeEv
-_ZN6Magick5Image8oilPaintEd
-_ZN6Magick5Image7opacityEj
-_ZN6Magick5Image6opaqueERKNS_5ColorES3_
-_ZN6Magick5Image4pingERKSs
-_ZN6Magick5Image4pingERKNS_4BlobE
-_ZN6Magick5Image8quantizeEb
-_ZN6Magick5Image5raiseERKNS_8GeometryEb
-_ZN6Magick5Image4readERKSs
-_ZN6Magick5Image4readERKNS_8GeometryERKSs
-_ZN6Magick5Image4readERKNS_4BlobE
-_ZN6Magick5Image4readERKNS_4BlobERKNS_8GeometryE
-_ZN6Magick5Image4readERKNS_4BlobERKNS_8GeometryEj
-_ZN6Magick5Image4readERKNS_4BlobERKNS_8GeometryEjRKSs
-_ZN6Magick5Image4readERKNS_4BlobERKNS_8GeometryERKSs
-_ZN6Magick5Image4readEjjRKSsN9MagickLib11StorageTypeEPKv
-_ZN6Magick5Image11reduceNoiseEd
-_ZN6Magick5Image4rollERKNS_8GeometryE
-_ZN6Magick5Image4rollEjj
-_ZN6Magick5Image6rotateEd
-_ZN6Magick5Image6sampleERKNS_8GeometryE
-_ZN6Magick5Image5scaleERKNS_8GeometryE
-_ZN6Magick5Image7segmentEdd
-_ZN6Magick5Image5shadeEddb
-_ZN6Magick5Image7sharpenEdd
-_ZN6Magick5Image5shaveERKNS_8GeometryE
-_ZN6Magick5Image5shearEdd
-_ZN6Magick5Image8solarizeEd
-_ZN6Magick5Image6spreadEj
-_ZN6Magick5Image7steganoERKS0_
-_ZN6Magick5Image6stereoERKS0_
-_ZN6Magick5Image5swirlEd
-_ZN6Magick5Image7textureERKS0_
-_ZN6Magick5Image9thresholdEd
-_ZN6Magick5Image9transformERKNS_8GeometryE
-_ZN6Magick5Image9transformERKNS_8GeometryES3_
-_ZN6Magick5Image11transparentERKNS_5ColorE
-_ZN6Magick5Image4trimEv
-_ZN6Magick5Image11unsharpmaskEdddd
-_ZN6Magick5Image4waveEdd
-_ZN6Magick5Image5writeERKSs
-_ZN6Magick5Image5writeEPNS_4BlobE
-_ZN6Magick5Image5writeEPNS_4BlobERKSs
-_ZN6Magick5Image5writeEPNS_4BlobERKSsj
-_ZN6Magick5Image5writeEiijjRKSsN9MagickLib11StorageTypeEPv
-_ZN6Magick5Image4zoomERKNS_8GeometryE
-_ZN6Magick5Image6adjoinEb
-_ZNK6Magick5Image6adjoinEv
-_ZN6Magick5Image9antiAliasEb
-_ZN6Magick5Image9antiAliasEv
-_ZN6Magick5Image14animationDelayEj
-_ZNK6Magick5Image14animationDelayEv
-_ZN6Magick5Image19animationIterationsEj
-_ZNK6Magick5Image19animationIterationsEv
-_ZN6Magick5Image15backgroundColorERKNS_5ColorE
-_ZNK6Magick5Image15backgroundColorEv
-_ZN6Magick5Image17backgroundTextureERKSs
-_ZNK6Magick5Image17backgroundTextureEv
-_ZNK6Magick5Image11baseColumnsEv
-_ZNK6Magick5Image12baseFilenameEv
-_ZNK6Magick5Image8baseRowsEv
-_ZN6Magick5Image11borderColorERKNS_5ColorE
-_ZNK6Magick5Image11borderColorEv
-_ZNK6Magick5Image11boundingBoxEv
-_ZN6Magick5Image8boxColorERKNS_5ColorE
-_ZNK6Magick5Image8boxColorEv
-_ZN6Magick5Image14cacheThresholdEj
-_ZN6Magick5Image17chromaBluePrimaryEdd
-_ZNK6Magick5Image17chromaBluePrimaryEPdS1_
-_ZN6Magick5Image18chromaGreenPrimaryEdd
-_ZNK6Magick5Image18chromaGreenPrimaryEPdS1_
-_ZN6Magick5Image16chromaRedPrimaryEdd
-_ZNK6Magick5Image16chromaRedPrimaryEPdS1_
-_ZN6Magick5Image16chromaWhitePointEdd
-_ZNK6Magick5Image16chromaWhitePointEPdS1_
-_ZN6Magick5Image9classTypeEN9MagickLib9ClassTypeE
-_ZN6Magick5Image8clipMaskERKS0_
-_ZNK6Magick5Image8clipMaskEv
-_ZN6Magick5Image9colorFuzzEd
-_ZNK6Magick5Image9colorFuzzEv
-_ZN6Magick5Image8colorMapEjRKNS_5ColorE
-_ZNK6Magick5Image8colorMapEj
-_ZN6Magick5Image10colorSpaceEN9MagickLib14ColorspaceTypeE
-_ZNK6Magick5Image10colorSpaceEv
-_ZN6Magick5Image7commentERKSs
-_ZNK6Magick5Image7commentEv
-_ZN6Magick5Image12compressTypeEN9MagickLib15CompressionTypeE
-_ZNK6Magick5Image12compressTypeEv
-_ZN6Magick5Image5debugEb
-_ZNK6Magick5Image5debugEv
-_ZN6Magick5Image7densityERKNS_8GeometryE
-_ZNK6Magick5Image7densityEv
-_ZN6Magick5Image5depthEj
-_ZNK6Magick5Image5depthEv
-_ZNK6Magick5Image9directoryEv
-_ZN6Magick5Image6endianEN9MagickLib10EndianTypeE
-_ZNK6Magick5Image6endianEv
-_ZN6Magick5Image8fileNameERKSs
-_ZNK6Magick5Image8fileNameEv
-_ZNK6Magick5Image8fileSizeEv
-_ZN6Magick5Image9fillColorERKNS_5ColorE
-_ZNK6Magick5Image9fillColorEv
-_ZN6Magick5Image8fillRuleERKN9MagickLib8FillRuleE
-_ZNK6Magick5Image8fillRuleEv
-_ZN6Magick5Image11fillPatternERKS0_
-_ZNK6Magick5Image11fillPatternEv
-_ZN6Magick5Image10filterTypeEN9MagickLib11FilterTypesE
-_ZNK6Magick5Image10filterTypeEv
-_ZN6Magick5Image4fontERKSs
-_ZNK6Magick5Image4fontEv
-_ZN6Magick5Image13fontPointsizeEd
-_ZNK6Magick5Image13fontPointsizeEv
-_ZN6Magick5Image15fontTypeMetricsERKSsPNS_10TypeMetricE
-_ZNK6Magick5Image6formatEv
-_ZNK6Magick5Image5gammaEv
-_ZNK6Magick5Image8geometryEv
-_ZN6Magick5Image16gifDisposeMethodEj
-_ZNK6Magick5Image16gifDisposeMethodEv
-_ZN6Magick5Image15iccColorProfileERKNS_4BlobE
-_ZNK6Magick5Image15iccColorProfileEv
-_ZN6Magick5Image13interlaceTypeEN9MagickLib13InterlaceTypeE
-_ZNK6Magick5Image13interlaceTypeEv
-_ZN6Magick5Image11iptcProfileERKNS_4BlobE
-_ZNK6Magick5Image11iptcProfileEv
-_ZN6Magick5Image7isValidEb
-_ZNK6Magick5Image7isValidEv
-_ZN6Magick5Image5labelERKSs
-_ZNK6Magick5Image5labelEv
-_ZN6Magick5Image6magickERKSs
-_ZNK6Magick5Image6magickEv
-_ZN6Magick5Image5matteEb
-_ZNK6Magick5Image5matteEv
-_ZN6Magick5Image10matteColorERKNS_5ColorE
-_ZNK6Magick5Image10matteColorEv
-_ZNK6Magick5Image17meanErrorPerPixelEv
-_ZN6Magick5Image10monochromeEb
-_ZNK6Magick5Image10monochromeEv
-_ZNK6Magick5Image15montageGeometryEv
-_ZNK6Magick5Image18normalizedMaxErrorEv
-_ZNK6Magick5Image19normalizedMeanErrorEv
-_ZN6Magick5Image8penColorERKNS_5ColorE
-_ZNK6Magick5Image8penColorEv
-_ZN6Magick5Image10penTextureERKS0_
-_ZNK6Magick5Image10penTextureEv
-_ZN6Magick5Image10pixelColorEjjRKNS_5ColorE
-_ZNK6Magick5Image10pixelColorEjj
-_ZN6Magick5Image4pageERKNS_8GeometryE
-_ZNK6Magick5Image4pageEv
-_ZN6Magick5Image7qualityEj
-_ZNK6Magick5Image7qualityEv
-_ZN6Magick5Image14quantizeColorsEj
-_ZNK6Magick5Image14quantizeColorsEv
-_ZN6Magick5Image18quantizeColorSpaceEN9MagickLib14ColorspaceTypeE
-_ZNK6Magick5Image18quantizeColorSpaceEv
-_ZN6Magick5Image14quantizeDitherEb
-_ZNK6Magick5Image14quantizeDitherEv
-_ZN6Magick5Image17quantizeTreeDepthEj
-_ZNK6Magick5Image17quantizeTreeDepthEv
-_ZN6Magick5Image15renderingIntentEN9MagickLib15RenderingIntentE
-_ZNK6Magick5Image15renderingIntentEv
-_ZN6Magick5Image15resolutionUnitsEN9MagickLib14ResolutionTypeE
-_ZNK6Magick5Image15resolutionUnitsEv
-_ZN6Magick5Image5sceneEj
-_ZNK6Magick5Image5sceneEv
-_ZNK6Magick5Image9signatureEb
-_ZN6Magick5Image4sizeERKNS_8GeometryE
-_ZNK6Magick5Image4sizeEv
-_ZN6Magick5Image15strokeAntiAliasEb
-_ZNK6Magick5Image15strokeAntiAliasEv
-_ZN6Magick5Image11strokeColorERKNS_5ColorE
-_ZNK6Magick5Image11strokeColorEv
-_ZN6Magick5Image15strokeDashArrayEPKd
-_ZNK6Magick5Image15strokeDashArrayEv
-_ZN6Magick5Image16strokeDashOffsetEd
-_ZNK6Magick5Image16strokeDashOffsetEv
-_ZN6Magick5Image13strokeLineCapEN9MagickLib7LineCapE
-_ZNK6Magick5Image13strokeLineCapEv
-_ZN6Magick5Image14strokeLineJoinEN9MagickLib8LineJoinE
-_ZNK6Magick5Image14strokeLineJoinEv
-_ZN6Magick5Image16strokeMiterLimitEj
-_ZNK6Magick5Image16strokeMiterLimitEv
-_ZN6Magick5Image13strokePatternERKS0_
-_ZNK6Magick5Image13strokePatternEv
-_ZN6Magick5Image11strokeWidthEd
-_ZNK6Magick5Image11strokeWidthEv
-_ZN6Magick5Image8subImageEj
-_ZNK6Magick5Image8subImageEv
-_ZN6Magick5Image8subRangeEj
-_ZNK6Magick5Image8subRangeEv
-_ZN6Magick5Image8tileNameERKSs
-_ZNK6Magick5Image8tileNameEv
-_ZN6Magick5Image11totalColorsEv
-_ZN6Magick5Image15transformOriginEdd
-_ZN6Magick5Image17transformRotationEd
-_ZN6Magick5Image14transformResetEv
-_ZN6Magick5Image14transformScaleEdd
-_ZN6Magick5Image14transformSkewXEd
-_ZN6Magick5Image14transformSkewYEd
-_ZNK6Magick5Image4typeEv
-_ZN6Magick5Image4typeEN9MagickLib9ImageTypeE
-_ZN6Magick5Image7verboseEb
-_ZNK6Magick5Image7verboseEv
-_ZN6Magick5Image4viewERKSs
-_ZNK6Magick5Image4viewEv
-_ZN6Magick5Image10x11DisplayERKSs
-_ZNK6Magick5Image10x11DisplayEv
-_ZNK6Magick5Image11xResolutionEv
-_ZNK6Magick5Image11yResolutionEv
-_ZN6Magick5ImageC2ERKS0_
-_ZN6Magick5ImageC1ERKS0_
-_ZN6Magick5ImageaSERKS0_
-_ZNK6Magick5Image14getConstPixelsEiijj
-_ZNK6Magick5Image15getConstIndexesEv
-_ZNK6Magick5Image10getIndexesEv
-_ZN6Magick5Image9getPixelsEiijj
-_ZN6Magick5Image9setPixelsEiijj
-_ZN6Magick5Image10syncPixelsEv
-_ZN6Magick5Image10readPixelsEN9MagickLib11QuantumTypeEPKh
-_ZN6Magick5Image11writePixelsEN9MagickLib11QuantumTypeEPh
-_ZN6Magick5ImageC2EPN9MagickLib6_ImageEPKNS_7OptionsE
-_ZN6Magick5ImageC1EPN9MagickLib6_ImageEPKNS_7OptionsE
-_ZN6Magick5Image12replaceImageEPN9MagickLib6_ImageE
-_ZN6Magick5Image11modifyImageEv
-_ZNK6Magick5Image19throwImageExceptionEv
-_ZN6Magick5Image10registerIdEv
-_ZN6Magick5Image12unregisterIdEv
-_ZN6Magick8ImageRefC2EPN9MagickLib6_ImageE
-_ZN6Magick8ImageRefC1EPN9MagickLib6_ImageE
-_ZN6Magick8ImageRefC2EPN9MagickLib6_ImageEPKNS_7OptionsE
-_ZN6Magick8ImageRefC1EPN9MagickLib6_ImageEPKNS_7OptionsE
-_ZN6Magick8ImageRefC2Ev
-_ZN6Magick8ImageRefC1Ev
-_ZN6Magick8ImageRefD2Ev
-_ZN6Magick8ImageRefD1Ev
-_ZN6Magick8ImageRef5imageEPN9MagickLib6_ImageE
-_ZN6Magick8ImageRef7optionsEPNS_7OptionsE
-_ZN6Magick8ImageRef2idEl
-_ZN6Magick13MagickCleanUpC2Ev
-_ZN6Magick13MagickCleanUpC1Ev
-_ZN6Magick13MagickCleanUpD2Ev
-_ZN6Magick13MagickCleanUpD1Ev
-_Z41__static_initialization_and_destruction_0ii
-_ZN6Magick7MontageC2Ev
-_ZN6Magick7MontageC1Ev
-_ZN6Magick13MontageFramedC2Ev
-_ZN6Magick13MontageFramedC1Ev
-_ZNK6Magick7Montage17updateMontageInfoERN9MagickLib12_MontageInfoE
-_ZNK6Magick13MontageFramed17updateMontageInfoERN9MagickLib12_MontageInfoE
-_ZN6Magick7MontageD1Ev
-_ZN6Magick7MontageD0Ev
-_ZN6Magick13MontageFramedD1Ev
-_ZN6Magick13MontageFramedD0Ev
-_ZN6Magick7OptionsC2Ev
-_ZN6Magick7OptionsC1Ev
-_ZN6Magick7OptionsC2ERKS0_
-_ZN6Magick7OptionsC1ERKS0_
-_ZN6Magick7OptionsC2EPKN9MagickLib10_ImageInfoEPKNS1_13_QuantizeInfoEPKNS1_9_DrawInfoE
-_ZN6Magick7OptionsC1EPKN9MagickLib10_ImageInfoEPKNS1_13_QuantizeInfoEPKNS1_9_DrawInfoE
-_ZN6Magick7OptionsD2Ev
-_ZN6Magick7OptionsD1Ev
-_ZN6Magick7Options15backgroundColorERKNS_5ColorE
-_ZNK6Magick7Options15backgroundColorEv
-_ZN6Magick7Options17backgroundTextureERKSs
-_ZNK6Magick7Options17backgroundTextureEv
-_ZN6Magick7Options11borderColorERKNS_5ColorE
-_ZNK6Magick7Options11borderColorEv
-_ZN6Magick7Options8boxColorERKNS_5ColorE
-_ZNK6Magick7Options8boxColorEv
-_ZN6Magick7Options5debugEb
-_ZNK6Magick7Options5debugEv
-_ZN6Magick7Options7densityERKNS_8GeometryE
-_ZNK6Magick7Options7densityEv
-_ZN6Magick7Options6endianEN9MagickLib10EndianTypeE
-_ZNK6Magick7Options6endianEv
-_ZN6Magick7Options8fileNameERKSs
-_ZNK6Magick7Options8fileNameEv
-_ZN6Magick7Options9fillColorERKNS_5ColorE
-_ZNK6Magick7Options9fillColorEv
-_ZN6Magick7Options11fillPatternEPKN9MagickLib6_ImageE
-_ZNK6Magick7Options11fillPatternEv
-_ZN6Magick7Options8fillRuleERKN9MagickLib8FillRuleE
-_ZNK6Magick7Options8fillRuleEv
-_ZN6Magick7Options4fontERKSs
-_ZNK6Magick7Options4fontEv
-_ZNK6Magick7Options6formatEv
-_ZN6Magick7Options6magickERKSs
-_ZNK6Magick7Options6magickEv
-_ZN6Magick7Options10matteColorERKNS_5ColorE
-_ZNK6Magick7Options10matteColorEv
-_ZN6Magick7Options4pageERKNS_8GeometryE
-_ZNK6Magick7Options4pageEv
-_ZN6Magick7Options15resolutionUnitsEN9MagickLib14ResolutionTypeE
-_ZNK6Magick7Options15resolutionUnitsEv
-_ZN6Magick7Options4sizeERKNS_8GeometryE
-_ZNK6Magick7Options4sizeEv
-_ZN6Magick7Options11strokeColorERKNS_5ColorE
-_ZNK6Magick7Options11strokeColorEv
-_ZN6Magick7Options15strokeDashArrayEPKd
-_ZNK6Magick7Options15strokeDashArrayEv
-_ZN6Magick7Options13strokePatternEPKN9MagickLib6_ImageE
-_ZNK6Magick7Options13strokePatternEv
-_ZN6Magick7Options8tileNameERKSs
-_ZNK6Magick7Options8tileNameEv
-_ZN6Magick7Options15transformOriginEdd
-_ZN6Magick7Options14transformResetEv
-_ZN6Magick7Options17transformRotationEd
-_ZN6Magick7Options14transformScaleEdd
-_ZN6Magick7Options14transformSkewXEd
-_ZN6Magick7Options14transformSkewYEd
-_ZN6Magick7Options4viewERKSs
-_ZNK6Magick7Options4viewEv
-_ZN6Magick7Options10x11DisplayERKSs
-_ZNK6Magick7Options10x11DisplayEv
-_ZN6Magick6PixelsC2ERNS_5ImageE
-_ZN6Magick6PixelsC1ERNS_5ImageE
-_ZN6Magick6PixelsD2Ev
-_ZN6Magick6PixelsD1Ev
-_ZN6Magick6Pixels3getEiijj
-_ZN6Magick6Pixels8getConstEiijj
-_ZN6Magick6Pixels4syncEv
-_ZN6Magick6Pixels3setEiijj
-_ZN6Magick6Pixels7indexesEv
-_ZN6Magick13addNoiseImageC2EN9MagickLib9NoiseTypeE
-_ZN6Magick13addNoiseImageC1EN9MagickLib9NoiseTypeE
-_ZNK6Magick13addNoiseImageclERNS_5ImageE
-_ZN6Magick13annotateImageC2ERKSsRKNS_8GeometryE
-_ZN6Magick13annotateImageC1ERKSsRKNS_8GeometryE
-_ZN6Magick13annotateImageC2ERKSsRKNS_8GeometryEN9MagickLib11GravityTypeE
-_ZN6Magick13annotateImageC1ERKSsRKNS_8GeometryEN9MagickLib11GravityTypeE
-_ZN6Magick13annotateImageC2ERKSsRKNS_8GeometryEN9MagickLib11GravityTypeEd
-_ZN6Magick13annotateImageC1ERKSsRKNS_8GeometryEN9MagickLib11GravityTypeEd
-_ZN6Magick13annotateImageC2ERKSsN9MagickLib11GravityTypeE
-_ZN6Magick13annotateImageC1ERKSsN9MagickLib11GravityTypeE
-_ZNK6Magick13annotateImageclERNS_5ImageE
-_ZN6Magick9blurImageC2Edd
-_ZN6Magick9blurImageC1Edd
-_ZNK6Magick9blurImageclERNS_5ImageE
-_ZN6Magick11borderImageC2ERKNS_8GeometryE
-_ZN6Magick11borderImageC1ERKNS_8GeometryE
-_ZNK6Magick11borderImageclERNS_5ImageE
-_ZN6Magick13charcoalImageC2Edd
-_ZN6Magick13charcoalImageC1Edd
-_ZNK6Magick13charcoalImageclERNS_5ImageE
-_ZN6Magick9chopImageC2ERKNS_8GeometryE
-_ZN6Magick9chopImageC1ERKNS_8GeometryE
-_ZNK6Magick9chopImageclERNS_5ImageE
-_ZN6Magick13colorizeImageC2EjjjRKNS_5ColorE
-_ZN6Magick13colorizeImageC1EjjjRKNS_5ColorE
-_ZN6Magick13colorizeImageC2EjRKNS_5ColorE
-_ZN6Magick13colorizeImageC1EjRKNS_5ColorE
-_ZNK6Magick13colorizeImageclERNS_5ImageE
-_ZN6Magick15colorSpaceImageC2EN9MagickLib14ColorspaceTypeE
-_ZN6Magick15colorSpaceImageC1EN9MagickLib14ColorspaceTypeE
-_ZNK6Magick15colorSpaceImageclERNS_5ImageE
-_ZN6Magick12commentImageC2ERKSs
-_ZN6Magick12commentImageC1ERKSs
-_ZNK6Magick12commentImageclERNS_5ImageE
-_ZN6Magick14compositeImageC2ERKNS_5ImageEiiN9MagickLib17CompositeOperatorE
-_ZN6Magick14compositeImageC1ERKNS_5ImageEiiN9MagickLib17CompositeOperatorE
-_ZN6Magick14compositeImageC2ERKNS_5ImageERKNS_8GeometryEN9MagickLib17CompositeOperatorE
-_ZN6Magick14compositeImageC1ERKNS_5ImageERKNS_8GeometryEN9MagickLib17CompositeOperatorE
-_ZNK6Magick14compositeImageclERNS_5ImageE
-_ZN6Magick13contrastImageC2Ej
-_ZN6Magick13contrastImageC1Ej
-_ZNK6Magick13contrastImageclERNS_5ImageE
-_ZN6Magick9cropImageC2ERKNS_8GeometryE
-_ZN6Magick9cropImageC1ERKNS_8GeometryE
-_ZNK6Magick9cropImageclERNS_5ImageE
-_ZN6Magick18cycleColormapImageC2Ei
-_ZN6Magick18cycleColormapImageC1Ei
-_ZNK6Magick18cycleColormapImageclERNS_5ImageE
-_ZN6Magick14despeckleImageC2Ev
-_ZN6Magick14despeckleImageC1Ev
-_ZNK6Magick14despeckleImageclERNS_5ImageE
-_ZN6Magick9drawImageC2ERKNS_8DrawableE
-_ZN6Magick9drawImageC1ERKNS_8DrawableE
-_ZN6Magick9drawImageC2ERKSt4listINS_8DrawableESaIS2_EE
-_ZN6Magick9drawImageC1ERKSt4listINS_8DrawableESaIS2_EE
-_ZNK6Magick9drawImageclERNS_5ImageE
-_ZN6Magick9edgeImageC2Ed
-_ZN6Magick9edgeImageC1Ed
-_ZNK6Magick9edgeImageclERNS_5ImageE
-_ZN6Magick11embossImageC2Ev
-_ZN6Magick11embossImageC1Ev
-_ZN6Magick11embossImageC2Edd
-_ZN6Magick11embossImageC1Edd
-_ZNK6Magick11embossImageclERNS_5ImageE
-_ZN6Magick12enhanceImageC2Ev
-_ZN6Magick12enhanceImageC1Ev
-_ZNK6Magick12enhanceImageclERNS_5ImageE
-_ZN6Magick13equalizeImageC2Ev
-_ZN6Magick13equalizeImageC1Ev
-_ZNK6Magick13equalizeImageclERNS_5ImageE
-_ZN6Magick14fillColorImageC2ERKNS_5ColorE
-_ZN6Magick14fillColorImageC1ERKNS_5ColorE
-_ZNK6Magick14fillColorImageclERNS_5ImageE
-_ZN6Magick9flipImageC2Ev
-_ZN6Magick9flipImageC1Ev
-_ZNK6Magick9flipImageclERNS_5ImageE
-_ZN6Magick19floodFillColorImageC2EjjRKNS_5ColorE
-_ZN6Magick19floodFillColorImageC1EjjRKNS_5ColorE
-_ZN6Magick19floodFillColorImageC2ERKNS_8GeometryERKNS_5ColorE
-_ZN6Magick19floodFillColorImageC1ERKNS_8GeometryERKNS_5ColorE
-_ZN6Magick19floodFillColorImageC2EjjRKNS_5ColorES3_
-_ZN6Magick19floodFillColorImageC1EjjRKNS_5ColorES3_
-_ZN6Magick19floodFillColorImageC2ERKNS_8GeometryERKNS_5ColorES6_
-_ZN6Magick19floodFillColorImageC1ERKNS_8GeometryERKNS_5ColorES6_
-_ZNK6Magick19floodFillColorImageclERNS_5ImageE
-_ZN6Magick21floodFillTextureImageC2EjjRKNS_5ImageE
-_ZN6Magick21floodFillTextureImageC1EjjRKNS_5ImageE
-_ZN6Magick21floodFillTextureImageC2ERKNS_8GeometryERKNS_5ImageE
-_ZN6Magick21floodFillTextureImageC1ERKNS_8GeometryERKNS_5ImageE
-_ZN6Magick21floodFillTextureImageC2EjjRKNS_5ImageERKNS_5ColorE
-_ZN6Magick21floodFillTextureImageC1EjjRKNS_5ImageERKNS_5ColorE
-_ZN6Magick21floodFillTextureImageC2ERKNS_8GeometryERKNS_5ImageERKNS_5ColorE
-_ZN6Magick21floodFillTextureImageC1ERKNS_8GeometryERKNS_5ImageERKNS_5ColorE
-_ZNK6Magick21floodFillTextureImageclERNS_5ImageE
-_ZN6Magick9flopImageC2Ev
-_ZN6Magick9flopImageC1Ev
-_ZNK6Magick9flopImageclERNS_5ImageE
-_ZN6Magick10frameImageC2ERKNS_8GeometryE
-_ZN6Magick10frameImageC1ERKNS_8GeometryE
-_ZN6Magick10frameImageC2Ejjii
-_ZN6Magick10frameImageC1Ejjii
-_ZNK6Magick10frameImageclERNS_5ImageE
-_ZN6Magick10gammaImageC2Ed
-_ZN6Magick10gammaImageC1Ed
-_ZN6Magick10gammaImageC2Eddd
-_ZN6Magick10gammaImageC1Eddd
-_ZNK6Magick10gammaImageclERNS_5ImageE
-_ZN6Magick17gaussianBlurImageC2Edd
-_ZN6Magick17gaussianBlurImageC1Edd
-_ZNK6Magick17gaussianBlurImageclERNS_5ImageE
-_ZN6Magick12implodeImageC2Ed
-_ZN6Magick12implodeImageC1Ed
-_ZNK6Magick12implodeImageclERNS_5ImageE
-_ZN6Magick12isValidImageC2Eb
-_ZN6Magick12isValidImageC1Eb
-_ZNK6Magick12isValidImageclERNS_5ImageE
-_ZN6Magick10labelImageC2ERKSs
-_ZN6Magick10labelImageC1ERKSs
-_ZNK6Magick10labelImageclERNS_5ImageE
-_ZN6Magick12channelImageC2EN9MagickLib11ChannelTypeE
-_ZN6Magick12channelImageC1EN9MagickLib11ChannelTypeE
-_ZNK6Magick12channelImageclERNS_5ImageE
-_ZN6Magick12magnifyImageC2Ev
-_ZN6Magick12magnifyImageC1Ev
-_ZNK6Magick12magnifyImageclERNS_5ImageE
-_ZN6Magick8mapImageC2ERKNS_5ImageEb
-_ZN6Magick8mapImageC1ERKNS_5ImageEb
-_ZNK6Magick8mapImageclERNS_5ImageE
-_ZN6Magick19matteFloodfillImageC2ERKNS_5ColorEjiiN9MagickLib11PaintMethodE
-_ZN6Magick19matteFloodfillImageC1ERKNS_5ColorEjiiN9MagickLib11PaintMethodE
-_ZNK6Magick19matteFloodfillImageclERNS_5ImageE
-_ZN6Magick17medianFilterImageC2Ed
-_ZN6Magick17medianFilterImageC1Ed
-_ZNK6Magick17medianFilterImageclERNS_5ImageE
-_ZN6Magick11minifyImageC2Ev
-_ZN6Magick11minifyImageC1Ev
-_ZNK6Magick11minifyImageclERNS_5ImageE
-_ZN6Magick13modulateImageC2Eddd
-_ZN6Magick13modulateImageC1Eddd
-_ZNK6Magick13modulateImageclERNS_5ImageE
-_ZN6Magick11negateImageC2Eb
-_ZN6Magick11negateImageC1Eb
-_ZNK6Magick11negateImageclERNS_5ImageE
-_ZN6Magick14normalizeImageC2Ev
-_ZN6Magick14normalizeImageC1Ev
-_ZNK6Magick14normalizeImageclERNS_5ImageE
-_ZN6Magick13oilPaintImageC2Ed
-_ZN6Magick13oilPaintImageC1Ed
-_ZNK6Magick13oilPaintImageclERNS_5ImageE
-_ZN6Magick12opacityImageC2Ej
-_ZN6Magick12opacityImageC1Ej
-_ZNK6Magick12opacityImageclERNS_5ImageE
-_ZN6Magick11opaqueImageC2ERKNS_5ColorES3_
-_ZN6Magick11opaqueImageC1ERKNS_5ColorES3_
-_ZNK6Magick11opaqueImageclERNS_5ImageE
-_ZN6Magick13quantizeImageC2Eb
-_ZN6Magick13quantizeImageC1Eb
-_ZNK6Magick13quantizeImageclERNS_5ImageE
-_ZN6Magick10raiseImageC2ERKNS_8GeometryEb
-_ZN6Magick10raiseImageC1ERKNS_8GeometryEb
-_ZNK6Magick10raiseImageclERNS_5ImageE
-_ZN6Magick16reduceNoiseImageC2Ev
-_ZN6Magick16reduceNoiseImageC1Ev
-_ZN6Magick16reduceNoiseImageC2Ej
-_ZN6Magick16reduceNoiseImageC1Ej
-_ZNK6Magick16reduceNoiseImageclERNS_5ImageE
-_ZN6Magick9rollImageC2ERKNS_8GeometryE
-_ZN6Magick9rollImageC1ERKNS_8GeometryE
-_ZN6Magick9rollImageC2Eii
-_ZN6Magick9rollImageC1Eii
-_ZNK6Magick9rollImageclERNS_5ImageE
-_ZN6Magick11rotateImageC2Ed
-_ZN6Magick11rotateImageC1Ed
-_ZNK6Magick11rotateImageclERNS_5ImageE
-_ZN6Magick11sampleImageC2ERKNS_8GeometryE
-_ZN6Magick11sampleImageC1ERKNS_8GeometryE
-_ZNK6Magick11sampleImageclERNS_5ImageE
-_ZN6Magick10scaleImageC2ERKNS_8GeometryE
-_ZN6Magick10scaleImageC1ERKNS_8GeometryE
-_ZNK6Magick10scaleImageclERNS_5ImageE
-_ZN6Magick12segmentImageC2Edd
-_ZN6Magick12segmentImageC1Edd
-_ZNK6Magick12segmentImageclERNS_5ImageE
-_ZN6Magick10shadeImageC2Edd
-_ZN6Magick10shadeImageC1Edd
-_ZNK6Magick10shadeImageclERNS_5ImageE
-_ZN6Magick12sharpenImageC2Edd
-_ZN6Magick12sharpenImageC1Edd
-_ZNK6Magick12sharpenImageclERNS_5ImageE
-_ZN6Magick10shaveImageC2ERKNS_8GeometryE
-_ZN6Magick10shaveImageC1ERKNS_8GeometryE
-_ZNK6Magick10shaveImageclERNS_5ImageE
-_ZN6Magick10shearImageC2Edd
-_ZN6Magick10shearImageC1Edd
-_ZNK6Magick10shearImageclERNS_5ImageE
-_ZN6Magick13solarizeImageC2Ed
-_ZN6Magick13solarizeImageC1Ed
-_ZNK6Magick13solarizeImageclERNS_5ImageE
-_ZN6Magick11spreadImageC2Ej
-_ZN6Magick11spreadImageC1Ej
-_ZNK6Magick11spreadImageclERNS_5ImageE
-_ZN6Magick12steganoImageC2ERKNS_5ImageE
-_ZN6Magick12steganoImageC1ERKNS_5ImageE
-_ZNK6Magick12steganoImageclERNS_5ImageE
-_ZN6Magick11stereoImageC2ERKNS_5ImageE
-_ZN6Magick11stereoImageC1ERKNS_5ImageE
-_ZNK6Magick11stereoImageclERNS_5ImageE
-_ZN6Magick16strokeColorImageC2ERKNS_5ColorE
-_ZN6Magick16strokeColorImageC1ERKNS_5ColorE
-_ZNK6Magick16strokeColorImageclERNS_5ImageE
-_ZN6Magick10swirlImageC2Ed
-_ZN6Magick10swirlImageC1Ed
-_ZNK6Magick10swirlImageclERNS_5ImageE
-_ZN6Magick12textureImageC2ERKNS_5ImageE
-_ZN6Magick12textureImageC1ERKNS_5ImageE
-_ZNK6Magick12textureImageclERNS_5ImageE
-_ZN6Magick14thresholdImageC2Ed
-_ZN6Magick14thresholdImageC1Ed
-_ZNK6Magick14thresholdImageclERNS_5ImageE
-_ZN6Magick14transformImageC2ERKNS_8GeometryE
-_ZN6Magick14transformImageC1ERKNS_8GeometryE
-_ZN6Magick14transformImageC2ERKNS_8GeometryES3_
-_ZN6Magick14transformImageC1ERKNS_8GeometryES3_
-_ZNK6Magick14transformImageclERNS_5ImageE
-_ZN6Magick16transparentImageC2ERKNS_5ColorE
-_ZN6Magick16transparentImageC1ERKNS_5ColorE
-_ZNK6Magick16transparentImageclERNS_5ImageE
-_ZN6Magick9trimImageC2Ev
-_ZN6Magick9trimImageC1Ev
-_ZNK6Magick9trimImageclERNS_5ImageE
-_ZN6Magick9waveImageC2Edd
-_ZN6Magick9waveImageC1Edd
-_ZNK6Magick9waveImageclERNS_5ImageE
-_ZN6Magick9zoomImageC2ERKNS_8GeometryE
-_ZN6Magick9zoomImageC1ERKNS_8GeometryE
-_ZNK6Magick9zoomImageclERNS_5ImageE
-_ZN6Magick14antiAliasImageC2Eb
-_ZN6Magick14antiAliasImageC1Eb
-_ZNK6Magick14antiAliasImageclERNS_5ImageE
-_ZN6Magick11adjoinImageC2Eb
-_ZN6Magick11adjoinImageC1Eb
-_ZNK6Magick11adjoinImageclERNS_5ImageE
-_ZN6Magick19animationDelayImageC2Ej
-_ZN6Magick19animationDelayImageC1Ej
-_ZNK6Magick19animationDelayImageclERNS_5ImageE
-_ZN6Magick24animationIterationsImageC2Ej
-_ZN6Magick24animationIterationsImageC1Ej
-_ZNK6Magick24animationIterationsImageclERNS_5ImageE
-_ZN6Magick20backgroundColorImageC2ERKNS_5ColorE
-_ZN6Magick20backgroundColorImageC1ERKNS_5ColorE
-_ZNK6Magick20backgroundColorImageclERNS_5ImageE
-_ZN6Magick22backgroundTextureImageC2ERKSs
-_ZN6Magick22backgroundTextureImageC1ERKSs
-_ZNK6Magick22backgroundTextureImageclERNS_5ImageE
-_ZN6Magick16borderColorImageC2ERKNS_5ColorE
-_ZN6Magick16borderColorImageC1ERKNS_5ColorE
-_ZNK6Magick16borderColorImageclERNS_5ImageE
-_ZN6Magick13boxColorImageC2ERKNS_5ColorE
-_ZN6Magick13boxColorImageC1ERKNS_5ColorE
-_ZNK6Magick13boxColorImageclERNS_5ImageE
-_ZN6Magick22chromaBluePrimaryImageC2Edd
-_ZN6Magick22chromaBluePrimaryImageC1Edd
-_ZNK6Magick22chromaBluePrimaryImageclERNS_5ImageE
-_ZN6Magick23chromaGreenPrimaryImageC2Edd
-_ZN6Magick23chromaGreenPrimaryImageC1Edd
-_ZNK6Magick23chromaGreenPrimaryImageclERNS_5ImageE
-_ZN6Magick21chromaRedPrimaryImageC2Edd
-_ZN6Magick21chromaRedPrimaryImageC1Edd
-_ZNK6Magick21chromaRedPrimaryImageclERNS_5ImageE
-_ZN6Magick21chromaWhitePointImageC2Edd
-_ZN6Magick21chromaWhitePointImageC1Edd
-_ZNK6Magick21chromaWhitePointImageclERNS_5ImageE
-_ZN6Magick14colorFuzzImageC2Ed
-_ZN6Magick14colorFuzzImageC1Ed
-_ZNK6Magick14colorFuzzImageclERNS_5ImageE
-_ZN6Magick13colorMapImageC2EjRKNS_5ColorE
-_ZN6Magick13colorMapImageC1EjRKNS_5ColorE
-_ZNK6Magick13colorMapImageclERNS_5ImageE
-_ZN6Magick17compressTypeImageC2EN9MagickLib15CompressionTypeE
-_ZN6Magick17compressTypeImageC1EN9MagickLib15CompressionTypeE
-_ZNK6Magick17compressTypeImageclERNS_5ImageE
-_ZN6Magick12densityImageC2ERKNS_8GeometryE
-_ZN6Magick12densityImageC1ERKNS_8GeometryE
-_ZNK6Magick12densityImageclERNS_5ImageE
-_ZN6Magick10depthImageC2Ej
-_ZN6Magick10depthImageC1Ej
-_ZNK6Magick10depthImageclERNS_5ImageE
-_ZN6Magick11endianImageC2EN9MagickLib10EndianTypeE
-_ZN6Magick11endianImageC1EN9MagickLib10EndianTypeE
-_ZNK6Magick11endianImageclERNS_5ImageE
-_ZN6Magick13fileNameImageC2ERKSs
-_ZN6Magick13fileNameImageC1ERKSs
-_ZNK6Magick13fileNameImageclERNS_5ImageE
-_ZN6Magick15filterTypeImageC2EN9MagickLib11FilterTypesE
-_ZN6Magick15filterTypeImageC1EN9MagickLib11FilterTypesE
-_ZNK6Magick15filterTypeImageclERNS_5ImageE
-_ZN6Magick9fontImageC2ERKSs
-_ZN6Magick9fontImageC1ERKSs
-_ZNK6Magick9fontImageclERNS_5ImageE
-_ZN6Magick18fontPointsizeImageC2Ej
-_ZN6Magick18fontPointsizeImageC1Ej
-_ZNK6Magick18fontPointsizeImageclERNS_5ImageE
-_ZN6Magick21gifDisposeMethodImageC2Ej
-_ZN6Magick21gifDisposeMethodImageC1Ej
-_ZNK6Magick21gifDisposeMethodImageclERNS_5ImageE
-_ZN6Magick18interlaceTypeImageC2EN9MagickLib13InterlaceTypeE
-_ZN6Magick18interlaceTypeImageC1EN9MagickLib13InterlaceTypeE
-_ZNK6Magick18interlaceTypeImageclERNS_5ImageE
-_ZN6Magick14lineWidthImageC2Ed
-_ZN6Magick14lineWidthImageC1Ed
-_ZNK6Magick14lineWidthImageclERNS_5ImageE
-_ZN6Magick11magickImageC2ERKSs
-_ZN6Magick11magickImageC1ERKSs
-_ZNK6Magick11magickImageclERNS_5ImageE
-_ZN6Magick10matteImageC2Eb
-_ZN6Magick10matteImageC1Eb
-_ZNK6Magick10matteImageclERNS_5ImageE
-_ZN6Magick15matteColorImageC2ERKNS_5ColorE
-_ZN6Magick15matteColorImageC1ERKNS_5ColorE
-_ZNK6Magick15matteColorImageclERNS_5ImageE
-_ZN6Magick15monochromeImageC2Eb
-_ZN6Magick15monochromeImageC1Eb
-_ZNK6Magick15monochromeImageclERNS_5ImageE
-_ZN6Magick13penColorImageC2ERKNS_5ColorE
-_ZN6Magick13penColorImageC1ERKNS_5ColorE
-_ZNK6Magick13penColorImageclERNS_5ImageE
-_ZN6Magick15penTextureImageC2ERKNS_5ImageE
-_ZN6Magick15penTextureImageC1ERKNS_5ImageE
-_ZNK6Magick15penTextureImageclERNS_5ImageE
-_ZN6Magick15pixelColorImageC2EjjRKNS_5ColorE
-_ZN6Magick15pixelColorImageC1EjjRKNS_5ColorE
-_ZNK6Magick15pixelColorImageclERNS_5ImageE
-_ZN6Magick9pageImageC2ERKNS_8GeometryE
-_ZN6Magick9pageImageC1ERKNS_8GeometryE
-_ZNK6Magick9pageImageclERNS_5ImageE
-_ZN6Magick12qualityImageC2Ej
-_ZN6Magick12qualityImageC1Ej
-_ZNK6Magick12qualityImageclERNS_5ImageE
-_ZN6Magick19quantizeColorsImageC2Ej
-_ZN6Magick19quantizeColorsImageC1Ej
-_ZNK6Magick19quantizeColorsImageclERNS_5ImageE
-_ZN6Magick23quantizeColorSpaceImageC2EN9MagickLib14ColorspaceTypeE
-_ZN6Magick23quantizeColorSpaceImageC1EN9MagickLib14ColorspaceTypeE
-_ZNK6Magick23quantizeColorSpaceImageclERNS_5ImageE
-_ZN6Magick19quantizeDitherImageC2Eb
-_ZN6Magick19quantizeDitherImageC1Eb
-_ZNK6Magick19quantizeDitherImageclERNS_5ImageE
-_ZN6Magick22quantizeTreeDepthImageC2Ej
-_ZN6Magick22quantizeTreeDepthImageC1Ej
-_ZNK6Magick22quantizeTreeDepthImageclERNS_5ImageE
-_ZN6Magick20renderingIntentImageC2EN9MagickLib15RenderingIntentE
-_ZN6Magick20renderingIntentImageC1EN9MagickLib15RenderingIntentE
-_ZNK6Magick20renderingIntentImageclERNS_5ImageE
-_ZN6Magick20resolutionUnitsImageC2EN9MagickLib14ResolutionTypeE
-_ZN6Magick20resolutionUnitsImageC1EN9MagickLib14ResolutionTypeE
-_ZNK6Magick20resolutionUnitsImageclERNS_5ImageE
-_ZN6Magick10sceneImageC2Ej
-_ZN6Magick10sceneImageC1Ej
-_ZNK6Magick10sceneImageclERNS_5ImageE
-_ZN6Magick9sizeImageC2ERKNS_8GeometryE
-_ZN6Magick9sizeImageC1ERKNS_8GeometryE
-_ZNK6Magick9sizeImageclERNS_5ImageE
-_ZN6Magick13subImageImageC2Ej
-_ZN6Magick13subImageImageC1Ej
-_ZNK6Magick13subImageImageclERNS_5ImageE
-_ZN6Magick13subRangeImageC2Ej
-_ZN6Magick13subRangeImageC1Ej
-_ZNK6Magick13subRangeImageclERNS_5ImageE
-_ZN6Magick13tileNameImageC2ERKSs
-_ZN6Magick13tileNameImageC1ERKSs
-_ZNK6Magick13tileNameImageclERNS_5ImageE
-_ZN6Magick9typeImageC2EN9MagickLib9ImageTypeE
-_ZN6Magick9typeImageC1EN9MagickLib9ImageTypeE
-_ZNK6Magick9typeImageclERNS_5ImageE
-_ZN6Magick12verboseImageC2Eb
-_ZN6Magick12verboseImageC1Eb
-_ZNK6Magick12verboseImageclERNS_5ImageE
-_ZN6Magick9viewImageC2ERKSs
-_ZN6Magick9viewImageC1ERKSs
-_ZNK6Magick9viewImageclERNS_5ImageE
-_ZN6Magick15x11DisplayImageC2ERKSs
-_ZN6Magick15x11DisplayImageC1ERKSs
-_ZNK6Magick15x11DisplayImageclERNS_5ImageE
-_ZNSt10_List_baseIN6Magick8DrawableESaIS1_EE5clearEv
-_ZNSt4listIN6Magick8DrawableESaIS1_EE18_M_insert_dispatchISt14_List_iteratorIS1_RKS1_PS6_EEEvS5_IS1_RS1_PS1_ET_SD_12__false_type
-_ZNSt10_List_baseIN6Magick8DrawableESaIS1_EED2Ev
-_ZNSt14__simple_allocISt10_List_nodeIN6Magick8DrawableEESt24__default_alloc_templateILb1ELi0EEE10deallocateEPS3_j
-_ZNSt4listIN6Magick8DrawableESaIS1_EE14_M_create_nodeERKS1_
-_ZN6Magick9MutexLockC2Ev
-_ZN6Magick9MutexLockC1Ev
-_ZN6Magick9MutexLockD2Ev
-_ZN6Magick9MutexLockD1Ev
-_ZN6Magick9MutexLock4lockEv
-_ZN6Magick9MutexLock6unlockEv
-_ZN6Magick10TypeMetricC2Ev
-_ZN6Magick10TypeMetricC1Ev
-_ZN6Magick10TypeMetricD2Ev
-_ZN6Magick10TypeMetricD1Ev
-_ZNK6Magick10TypeMetric6ascentEv
-_ZNK6Magick10TypeMetric7descentEv
-_ZNK6Magick10TypeMetric9textWidthEv
-_ZNK6Magick10TypeMetric10textHeightEv
-_ZNK6Magick10TypeMetric20maxHorizontalAdvanceEv
-_ZTSN6Magick4BlobE
-_ZTSN6Magick8ColorYUVE
-_ZTSN6Magick8ColorRGBE
-_ZTSN6Magick9ColorMonoE
-_ZTSN6Magick9ColorGrayE
-_ZTSN6Magick8ColorHSLE
-_ZTSN6Magick5ColorE
-_ZTSN6Magick13PathMovetoRelE
-_ZTSN6Magick13PathMovetoAbsE
-_ZTSN6Magick21PathLinetoVerticalRelE
-_ZTSN6Magick21PathLinetoVerticalAbsE
-_ZTSN6Magick23PathLinetoHorizontalRelE
-_ZTSN6Magick23PathLinetoHorizontalAbsE
-_ZTSN6Magick13PathLinetoRelE
-_ZTSN6Magick13PathLinetoAbsE
-_ZTSN6Magick29PathSmoothQuadraticCurvetoRelE
-_ZTSN6Magick29PathSmoothQuadraticCurvetoAbsE
-_ZTSN6Magick23PathQuadraticCurvetoRelE
-_ZTSN6Magick23PathQuadraticCurvetoAbsE
-_ZTSN6Magick20PathSmoothCurvetoRelE
-_ZTSN6Magick20PathSmoothCurvetoAbsE
-_ZTSN6Magick14PathCurvetoRelE
-_ZTSN6Magick14PathCurvetoAbsE
-_ZTSN6Magick13PathClosePathE
-_ZTSN6Magick10PathArcRelE
-_ZTSN6Magick10PathArcAbsE
-_ZTSN6Magick15DrawableViewboxE
-_ZTSN6Magick19DrawableTranslationE
-_ZTSN6Magick22DrawableTextUnderColorE
-_ZTSN6Magick22DrawableTextDecorationE
-_ZTSN6Magick21DrawableTextAntialiasE
-_ZTSN6Magick12DrawableTextE
-_ZTSN6Magick19DrawableStrokeWidthE
-_ZTSN6Magick21DrawableStrokeOpacityE
-_ZTSN6Magick19DrawableStrokeColorE
-_ZTSN6Magick23DrawableStrokeAntialiasE
-_ZTSN6Magick18DrawableMiterLimitE
-_ZTSN6Magick22DrawableStrokeLineJoinE
-_ZTSN6Magick21DrawableStrokeLineCapE
-_ZTSN6Magick18DrawableDashOffsetE
-_ZTSN6Magick17DrawableDashArrayE
-_ZTSN6Magick13DrawableSkewYE
-_ZTSN6Magick13DrawableSkewXE
-_ZTSN6Magick15DrawableScalingE
-_ZTSN6Magick22DrawableRoundRectangleE
-_ZTSN6Magick16DrawableRotationE
-_ZTSN6Magick17DrawableRectangleE
-_ZTSN6Magick19DrawablePushPatternE
-_ZTSN6Magick18DrawablePopPatternE
-_ZTSN6Magick26DrawablePushGraphicContextE
-_ZTSN6Magick25DrawablePopGraphicContextE
-_ZTSN6Magick16DrawablePolylineE
-_ZTSN6Magick15DrawablePolygonE
-_ZTSN6Magick17DrawablePointSizeE
-_ZTSN6Magick13DrawablePointE
-_ZTSN6Magick12DrawablePathE
-_ZTSN6Magick13DrawableMatteE
-_ZTSN6Magick12DrawableLineE
-_ZTSN6Magick15DrawableGravityE
-_ZTSN6Magick12DrawableFontE
-_ZTSN6Magick19DrawableFillOpacityE
-_ZTSN6Magick16DrawableFillRuleE
-_ZTSN6Magick17DrawableFillColorE
-_ZTSN6Magick15DrawableEllipseE
-_ZTSN6Magick22DrawableCompositeImageE
-_ZTSN6Magick13DrawableColorE
-_ZTSN6Magick14DrawableCircleE
-_ZTSN6Magick14DrawableBezierE
-_ZTSN6Magick11DrawableArcE
-_ZTSN6Magick14DrawableAffineE
-_ZTSN6Magick5VPathE
-_ZTSN6Magick9VPathBaseE
-_ZTSN6Magick12DrawableBaseE
-_ZTSN6Magick10CoordinateE
-_ZTSSt14unary_functionIPN9MagickLib12_DrawContextEvE
-_ZTSN6Magick10ErrorCacheE
-_ZTSN6Magick9ErrorBlobE
-_ZTSN6Magick13ErrorFileOpenE
-_ZTSN6Magick17ErrorCorruptImageE
-_ZTSN6Magick20ErrorMissingDelegateE
-_ZTSN6Magick13ErrorDelegateE
-_ZTSN6Magick11ErrorOptionE
-_ZTSN6Magick12ErrorXServerE
-_ZTSN6Magick18ErrorResourceLimitE
-_ZTSN6Magick14ErrorUndefinedE
-_ZTSN6Magick5ErrorE
-_ZTSN6Magick12WarningCacheE
-_ZTSN6Magick11WarningBlobE
-_ZTSN6Magick15WarningFileOpenE
-_ZTSN6Magick19WarningCorruptImageE
-_ZTSN6Magick22WarningMissingDelegateE
-_ZTSN6Magick15WarningDelegateE
-_ZTSN6Magick13WarningOptionE
-_ZTSN6Magick14WarningXServerE
-_ZTSN6Magick20WarningResourceLimitE
-_ZTSN6Magick16WarningUndefinedE
-_ZTSN6Magick7WarningE
-_ZTSN6Magick9ExceptionE
-_ZTSN6Magick5ImageE
-_ZTSN6Magick13MontageFramedE
-_ZTSN6Magick7MontageE
-_ZTVN6Magick4BlobE
-_ZTIN6Magick4BlobE
-_ZTVN6Magick8ColorYUVE
-_ZTVN6Magick8ColorRGBE
-_ZTVN6Magick9ColorMonoE
-_ZTVN6Magick9ColorGrayE
-_ZTVN6Magick8ColorHSLE
-_ZTVN6Magick5ColorE
-_ZTIN6Magick5ColorE
-_ZTIN6Magick8ColorHSLE
-_ZTIN6Magick9ColorGrayE
-_ZTIN6Magick9ColorMonoE
-_ZTIN6Magick8ColorRGBE
-_ZTIN6Magick8ColorYUVE
-_ZZ18__gthread_active_pvE20__gthread_active_ptr
-_ZTVN6Magick13PathMovetoRelE
-_ZTVN6Magick13PathMovetoAbsE
-_ZTVN6Magick21PathLinetoVerticalRelE
-_ZTVN6Magick21PathLinetoVerticalAbsE
-_ZTVN6Magick23PathLinetoHorizontalRelE
-_ZTVN6Magick23PathLinetoHorizontalAbsE
-_ZTVN6Magick13PathLinetoRelE
-_ZTVN6Magick13PathLinetoAbsE
-_ZTVN6Magick29PathSmoothQuadraticCurvetoRelE
-_ZTVN6Magick29PathSmoothQuadraticCurvetoAbsE
-_ZTVN6Magick23PathQuadraticCurvetoRelE
-_ZTVN6Magick23PathQuadraticCurvetoAbsE
-_ZTVN6Magick20PathSmoothCurvetoRelE
-_ZTVN6Magick20PathSmoothCurvetoAbsE
-_ZTVN6Magick14PathCurvetoRelE
-_ZTVN6Magick14PathCurvetoAbsE
-_ZTVN6Magick13PathClosePathE
-_ZTVN6Magick10PathArcRelE
-_ZTVN6Magick10PathArcAbsE
-_ZTVN6Magick15DrawableViewboxE
-_ZTVN6Magick19DrawableTranslationE
-_ZTVN6Magick22DrawableTextUnderColorE
-_ZTVN6Magick22DrawableTextDecorationE
-_ZTVN6Magick21DrawableTextAntialiasE
-_ZTVN6Magick12DrawableTextE
-_ZTVN6Magick19DrawableStrokeWidthE
-_ZTVN6Magick21DrawableStrokeOpacityE
-_ZTVN6Magick19DrawableStrokeColorE
-_ZTVN6Magick23DrawableStrokeAntialiasE
-_ZTVN6Magick18DrawableMiterLimitE
-_ZTVN6Magick22DrawableStrokeLineJoinE
-_ZTVN6Magick21DrawableStrokeLineCapE
-_ZTVN6Magick18DrawableDashOffsetE
-_ZTVN6Magick17DrawableDashArrayE
-_ZTVN6Magick13DrawableSkewYE
-_ZTVN6Magick13DrawableSkewXE
-_ZTVN6Magick15DrawableScalingE
-_ZTVN6Magick22DrawableRoundRectangleE
-_ZTVN6Magick16DrawableRotationE
-_ZTVN6Magick17DrawableRectangleE
-_ZTVN6Magick19DrawablePushPatternE
-_ZTVN6Magick18DrawablePopPatternE
-_ZTVN6Magick26DrawablePushGraphicContextE
-_ZTVN6Magick25DrawablePopGraphicContextE
-_ZTVN6Magick16DrawablePolylineE
-_ZTVN6Magick15DrawablePolygonE
-_ZTVN6Magick17DrawablePointSizeE
-_ZTVN6Magick13DrawablePointE
-_ZTVN6Magick12DrawablePathE
-_ZTVN6Magick13DrawableMatteE
-_ZTVN6Magick12DrawableLineE
-_ZTVN6Magick15DrawableGravityE
-_ZTVN6Magick12DrawableFontE
-_ZTVN6Magick19DrawableFillOpacityE
-_ZTVN6Magick16DrawableFillRuleE
-_ZTVN6Magick17DrawableFillColorE
-_ZTVN6Magick15DrawableEllipseE
-_ZTVN6Magick22DrawableCompositeImageE
-_ZTVN6Magick13DrawableColorE
-_ZTVN6Magick14DrawableCircleE
-_ZTVN6Magick14DrawableBezierE
-_ZTVN6Magick11DrawableArcE
-_ZTVN6Magick14DrawableAffineE
-_ZTVN6Magick5VPathE
-_ZTVN6Magick9VPathBaseE
-_ZTVN6Magick12DrawableBaseE
-_ZTVN6Magick10CoordinateE
-_ZTIN6Magick10CoordinateE
-_ZTIN6Magick12DrawableBaseE
-_ZTIN6Magick9VPathBaseE
-_ZTIN6Magick5VPathE
-_ZTIN6Magick14DrawableAffineE
-_ZTIN6Magick11DrawableArcE
-_ZTIN6Magick14DrawableBezierE
-_ZTIN6Magick14DrawableCircleE
-_ZTIN6Magick13DrawableColorE
-_ZTIN6Magick22DrawableCompositeImageE
-_ZTIN6Magick15DrawableEllipseE
-_ZTIN6Magick17DrawableFillColorE
-_ZTIN6Magick16DrawableFillRuleE
-_ZTIN6Magick19DrawableFillOpacityE
-_ZTIN6Magick12DrawableFontE
-_ZTIN6Magick15DrawableGravityE
-_ZTIN6Magick12DrawableLineE
-_ZTIN6Magick13DrawableMatteE
-_ZTIN6Magick12DrawablePathE
-_ZTIN6Magick13DrawablePointE
-_ZTIN6Magick17DrawablePointSizeE
-_ZTIN6Magick15DrawablePolygonE
-_ZTIN6Magick16DrawablePolylineE
-_ZTIN6Magick25DrawablePopGraphicContextE
-_ZTIN6Magick26DrawablePushGraphicContextE
-_ZTIN6Magick18DrawablePopPatternE
-_ZTIN6Magick19DrawablePushPatternE
-_ZTIN6Magick17DrawableRectangleE
-_ZTIN6Magick16DrawableRotationE
-_ZTIN6Magick22DrawableRoundRectangleE
-_ZTIN6Magick15DrawableScalingE
-_ZTIN6Magick13DrawableSkewXE
-_ZTIN6Magick13DrawableSkewYE
-_ZTIN6Magick17DrawableDashArrayE
-_ZTIN6Magick18DrawableDashOffsetE
-_ZTIN6Magick21DrawableStrokeLineCapE
-_ZTIN6Magick22DrawableStrokeLineJoinE
-_ZTIN6Magick18DrawableMiterLimitE
-_ZTIN6Magick23DrawableStrokeAntialiasE
-_ZTIN6Magick19DrawableStrokeColorE
-_ZTIN6Magick21DrawableStrokeOpacityE
-_ZTIN6Magick19DrawableStrokeWidthE
-_ZTIN6Magick12DrawableTextE
-_ZTIN6Magick21DrawableTextAntialiasE
-_ZTIN6Magick22DrawableTextDecorationE
-_ZTIN6Magick22DrawableTextUnderColorE
-_ZTIN6Magick19DrawableTranslationE
-_ZTIN6Magick15DrawableViewboxE
-_ZTIN6Magick10PathArcAbsE
-_ZTIN6Magick10PathArcRelE
-_ZTIN6Magick13PathClosePathE
-_ZTIN6Magick14PathCurvetoAbsE
-_ZTIN6Magick14PathCurvetoRelE
-_ZTIN6Magick20PathSmoothCurvetoAbsE
-_ZTIN6Magick20PathSmoothCurvetoRelE
-_ZTIN6Magick23PathQuadraticCurvetoAbsE
-_ZTIN6Magick23PathQuadraticCurvetoRelE
-_ZTIN6Magick29PathSmoothQuadraticCurvetoAbsE
-_ZTIN6Magick29PathSmoothQuadraticCurvetoRelE
-_ZTIN6Magick13PathLinetoAbsE
-_ZTIN6Magick13PathLinetoRelE
-_ZTIN6Magick23PathLinetoHorizontalAbsE
-_ZTIN6Magick23PathLinetoHorizontalRelE
-_ZTIN6Magick21PathLinetoVerticalAbsE
-_ZTIN6Magick21PathLinetoVerticalRelE
-_ZTIN6Magick13PathMovetoAbsE
-_ZTIN6Magick13PathMovetoRelE
-_ZTISt14unary_functionIPN9MagickLib12_DrawContextEvE
-_ZTVN6Magick10ErrorCacheE
-_ZTVN6Magick9ErrorBlobE
-_ZTVN6Magick13ErrorFileOpenE
-_ZTVN6Magick17ErrorCorruptImageE
-_ZTVN6Magick20ErrorMissingDelegateE
-_ZTVN6Magick13ErrorDelegateE
-_ZTVN6Magick11ErrorOptionE
-_ZTVN6Magick12ErrorXServerE
-_ZTVN6Magick18ErrorResourceLimitE
-_ZTVN6Magick14ErrorUndefinedE
-_ZTVN6Magick5ErrorE
-_ZTVN6Magick12WarningCacheE
-_ZTVN6Magick11WarningBlobE
-_ZTVN6Magick15WarningFileOpenE
-_ZTVN6Magick19WarningCorruptImageE
-_ZTVN6Magick22WarningMissingDelegateE
-_ZTVN6Magick15WarningDelegateE
-_ZTVN6Magick13WarningOptionE
-_ZTVN6Magick14WarningXServerE
-_ZTVN6Magick20WarningResourceLimitE
-_ZTVN6Magick16WarningUndefinedE
-_ZTVN6Magick7WarningE
-_ZTVN6Magick9ExceptionE
-_ZTIN6Magick9ExceptionE
-_ZTIN6Magick7WarningE
-_ZTIN6Magick16WarningUndefinedE
-_ZTIN6Magick20WarningResourceLimitE
-_ZTIN6Magick14WarningXServerE
-_ZTIN6Magick13WarningOptionE
-_ZTIN6Magick15WarningDelegateE
-_ZTIN6Magick22WarningMissingDelegateE
-_ZTIN6Magick19WarningCorruptImageE
-_ZTIN6Magick15WarningFileOpenE
-_ZTIN6Magick11WarningBlobE
-_ZTIN6Magick12WarningCacheE
-_ZTIN6Magick5ErrorE
-_ZTIN6Magick14ErrorUndefinedE
-_ZTIN6Magick18ErrorResourceLimitE
-_ZTIN6Magick12ErrorXServerE
-_ZTIN6Magick11ErrorOptionE
-_ZTIN6Magick13ErrorDelegateE
-_ZTIN6Magick20ErrorMissingDelegateE
-_ZTIN6Magick17ErrorCorruptImageE
-_ZTIN6Magick13ErrorFileOpenE
-_ZTIN6Magick9ErrorBlobE
-_ZTIN6Magick10ErrorCacheE
-_ZTVN6Magick5ImageE
-_ZTIN6Magick5ImageE
-_ZTVN6Magick13MontageFramedE
-_ZTVN6Magick7MontageE
-_ZTIN6Magick7MontageE
-_ZTIN6Magick13MontageFramedE
-_ZN6Magick21borderGeometryDefaultE
-_ZN6Magick20frameGeometryDefaultE
-_ZN6Magick20raiseGeometryDefaultE
-_ZN6Magick18magickCleanUpGuardE
-_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEj
-_Znaj
-_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE
-_ZNSt9exceptionD2Ev
-_ZNSs4_Rep11_S_terminalE
-_ZNKSs4copyEPcjj
-_ZNSs4_Rep10_M_disposeERKSaIcE
-_ZNSsC1ERKSs
-_ZNSs6assignERKSs
-_ZTVN10__cxxabiv120__si_class_type_infoE
-_ZNSsD1Ev
-_ZdlPv
-_ZSt9terminatev
-_ZNSs7replaceEjjPKcj
-_ZTISt9exception
-_ZNSs7reserveEj
-_ZNSs20_S_empty_rep_storageE
-_ZNSs6appendEjc
-_ZTVN10__cxxabiv117__class_type_infoE
-_ZdaPv
-_ZNSs6appendERKSs
-_ZNSsC1EPKcRKSaIcE
-_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE
-_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvj
-_ZNSsC1EPKcjRKSaIcE
-_Znwj
-_ZNSs4_Rep10_M_destroyERKSaIcE
-_ZNSs6appendEPKcj
diff --git a/Ghidra/Features/MicrosoftCodeAnalyzer/src/main/java/ghidra/app/cmd/data/TypeDescriptorModel.java b/Ghidra/Features/MicrosoftCodeAnalyzer/src/main/java/ghidra/app/cmd/data/TypeDescriptorModel.java
index f866d0e637..075cef33ea 100644
--- a/Ghidra/Features/MicrosoftCodeAnalyzer/src/main/java/ghidra/app/cmd/data/TypeDescriptorModel.java
+++ b/Ghidra/Features/MicrosoftCodeAnalyzer/src/main/java/ghidra/app/cmd/data/TypeDescriptorModel.java
@@ -614,8 +614,8 @@ public class TypeDescriptorModel extends AbstractCreateDataTypeModel {
return namespace;
}
- private boolean isNamespaceDeleted(Namespace namespace2) {
- Symbol nsSymbol = namespace2.getSymbol();
+ private boolean isNamespaceDeleted(Namespace other) {
+ Symbol nsSymbol = other.getSymbol();
if (nsSymbol == null) {
return false; // global namespace.
}
diff --git a/Ghidra/Features/MicrosoftDmang/src/main/java/mdemangler/MDMangGhidra.java b/Ghidra/Features/MicrosoftDmang/src/main/java/mdemangler/MDMangGhidra.java
index e9540e2407..149f9f7a7a 100644
--- a/Ghidra/Features/MicrosoftDmang/src/main/java/mdemangler/MDMangGhidra.java
+++ b/Ghidra/Features/MicrosoftDmang/src/main/java/mdemangler/MDMangGhidra.java
@@ -88,7 +88,7 @@ public class MDMangGhidra extends MDMang {
if (objectResult != null) {
objectResult.setMangledString(mangledArg);
// Make our version of the demangled string available (could be large).
- objectResult.setUtilDemangled(item.toString());
+ objectResult.setOriginalDemangled(item.toString());
}
return returnedItem;
}
diff --git a/Ghidra/Framework/Docking/src/main/java/docking/test/AbstractDockingTest.java b/Ghidra/Framework/Docking/src/main/java/docking/test/AbstractDockingTest.java
index 49983ddc2b..d8cda00fbe 100644
--- a/Ghidra/Framework/Docking/src/main/java/docking/test/AbstractDockingTest.java
+++ b/Ghidra/Framework/Docking/src/main/java/docking/test/AbstractDockingTest.java
@@ -218,25 +218,9 @@ public abstract class AbstractDockingTest extends AbstractGenericTest {
}
public static Window waitForWindowByTitleContaining(String text) {
- return waitForWindowByTitleContaining(null, text, DEFAULT_WAIT_TIMEOUT);
- }
-
- /**
- * Deprecated
- * @param parentWindow
- * @param text
- * @param timeoutMS
- * @return window
- * @deprecated Instead call one of the methods that does not take a timeout
- * (we are standardizing timeouts). The timeouts passed to this method will
- * be ignored in favor of the standard value.
- */
- @Deprecated
- public static Window waitForWindowByTitleContaining(Window parentWindow, String text,
- int timeoutMS) {
// try at least one time
- Window window = getWindowByTitleContaining(parentWindow, text);
+ Window window = getWindowByTitleContaining(null, text);
if (window != null) {
return window;// we found it...no waiting required
}
@@ -245,7 +229,7 @@ public abstract class AbstractDockingTest extends AbstractGenericTest {
int timeout = DEFAULT_WAIT_TIMEOUT;
while (totalTime <= timeout) {
- window = getWindowByTitleContaining(parentWindow, text);
+ window = getWindowByTitleContaining(null, text);
if (window != null) {
return window;
}
@@ -257,43 +241,6 @@ public abstract class AbstractDockingTest extends AbstractGenericTest {
"Timed-out waiting for window containg title '" + text + "'");
}
- /**
- * Waits for a window with the given name. If parentWindow
is not null, then it
- * will be used to find subordinate windows. If parentWindow
is null, then all
- * existing frames will be searched.
- *
- * @param parentWindow The parent of the window for which to search, or null to search all
- * open frames
- * @param title The title of the window for which to search
- * @param timeoutMS The timeout after which this method will wait no more
- * @return The window, if found, null otherwise.
- *
- * @deprecated Instead call one of the methods that does not take a timeout
- * (we are standardizing timeouts). The timeouts passed to this method will
- * be ignored in favor of the standard value.
- */
- @Deprecated
- public static Window waitForWindow(Window parentWindow, String title, int timeoutMS) {
-
- Window window = getWindowByTitle(parentWindow, title);
- if (window != null) {
- return window;// we found it...no waiting required
- }
-
- int totalTime = 0;
- int timeout = DEFAULT_WAIT_TIMEOUT;
- while (totalTime <= timeout) {
-
- window = getWindowByTitle(parentWindow, title);
- if (window != null) {
- return window;
- }
-
- totalTime += sleep(DEFAULT_WAIT_DELAY);
- }
- throw new AssertionFailedError("Timed-out waiting for window with title '" + title + "'");
- }
-
/**
* Waits for a window with the given name.
*
@@ -1828,25 +1775,6 @@ public abstract class AbstractDockingTest extends AbstractGenericTest {
useErrorGUI = enable;
}
- /**
- * Signals that the client expected the System Under Test (SUT) to report errors. Use this
- * when you wish to verify that errors are reported and you do not want those errors to
- * fail the test. The default value for this setting is false, which means that any
- * errors reported will fail the running test.
- *
- * @param expected true if errors are expected.
- */
- public static void setErrorsExpected(boolean expected) {
- if (expected) {
- Msg.error(AbstractDockingTest.class, ">>>>>>>>>>>>>>>> Expected Exception");
- ConcurrentTestExceptionHandler.disable();
- }
- else {
- Msg.error(AbstractDockingTest.class, "<<<<<<<<<<<<<<<< End Expected Exception");
- ConcurrentTestExceptionHandler.enable();
- }
- }
-
/**
* Turns off the gui displays for errors. This does not change the "isUseErrorGUI()" value for
* other tests in the TestCase.
diff --git a/Ghidra/Framework/Generic/src/main/java/generic/test/AbstractGenericTest.java b/Ghidra/Framework/Generic/src/main/java/generic/test/AbstractGenericTest.java
index f3de6c5da5..0f8d391b25 100644
--- a/Ghidra/Framework/Generic/src/main/java/generic/test/AbstractGenericTest.java
+++ b/Ghidra/Framework/Generic/src/main/java/generic/test/AbstractGenericTest.java
@@ -248,8 +248,9 @@ public abstract class AbstractGenericTest extends AbstractGTest {
*/
public static Set getAllWindows() {
Set set = new HashSet<>();
- Frame sharedOwnerFrame = (Frame) AppContext.getAppContext().get(
- new StringBuffer("SwingUtilities.sharedOwnerFrame"));
+ Frame sharedOwnerFrame = (Frame) AppContext.getAppContext()
+ .get(
+ new StringBuffer("SwingUtilities.sharedOwnerFrame"));
if (sharedOwnerFrame != null) {
set.addAll(getAllWindows(sharedOwnerFrame));
}
@@ -1515,6 +1516,29 @@ public abstract class AbstractGenericTest extends AbstractGTest {
UIManager.put("TextArea.font", f);
}
+ /**
+ * Signals that the client expected the System Under Test (SUT) to report errors. Use this
+ * when you wish to verify that errors are reported and you do not want those errors to
+ * fail the test. The default value for this setting is false, which means that any
+ * errors reported will fail the running test.
+ *
+ * @param expected true if errors are expected.
+ */
+ public static void setErrorsExpected(boolean expected) {
+ if (expected) {
+ Msg.error(AbstractGenericTest.class, ">>>>>>>>>>>>>>>> Expected Exception");
+ ConcurrentTestExceptionHandler.disable();
+ }
+ else {
+ Msg.error(AbstractGenericTest.class, "<<<<<<<<<<<<<<<< End Expected Exception");
+ ConcurrentTestExceptionHandler.enable();
+ }
+ }
+
+//==================================================================================================
+// Swing Methods
+//==================================================================================================
+
/**
* Waits for the Swing thread to process any pending events. This method
* also waits for any {@link SwingUpdateManager}s that have pending events
diff --git a/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/CodeBrowserPluginScreenShots.java b/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/CodeBrowserPluginScreenShots.java
index 539fe6f1d7..0af2617da9 100644
--- a/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/CodeBrowserPluginScreenShots.java
+++ b/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/CodeBrowserPluginScreenShots.java
@@ -15,7 +15,7 @@
*/
package help.screenshot;
-import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.*;
import java.awt.*;
import java.awt.event.ActionListener;
@@ -148,7 +148,7 @@ public class CodeBrowserPluginScreenShots extends GhidraScreenShotGenerator {
makeSelection(0x0406be1, 0x0406bf1);
performAction("Create Table From Selection", "CodeBrowserPlugin", true);
- Window window = waitForWindowByTitleContaining(null, "Selection Table", 2000);
+ Window window = waitForWindowByTitleContaining("Selection Table");
Point loc = plugin.getListingPanel().getLocationOnScreen();
Dimension size = window.getSize();
window.setBounds(loc.x + 300, loc.y + 150, size.width, 300);
@@ -240,7 +240,7 @@ public class CodeBrowserPluginScreenShots extends GhidraScreenShotGenerator {
JWindow popup = (JWindow) waitForWindowByName("ListingHoverProvider");
paintFix(popup);
captureProvider(CodeViewerProvider.class);
-
+
CodeViewerProvider provider = getProvider(CodeViewerProvider.class);
captureProviderWithScreenShot(provider);
}
diff --git a/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/NavigationScreenShots.java b/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/NavigationScreenShots.java
index cd10649229..be00ab524c 100644
--- a/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/NavigationScreenShots.java
+++ b/Ghidra/Test/IntegrationTest/src/screen/java/help/screenshot/NavigationScreenShots.java
@@ -142,7 +142,7 @@ public class NavigationScreenShots extends GhidraScreenShotGenerator {
setGotoText(dialog, "LAB*");
pressOkOnDialog();
Window window =
- waitForWindowByTitleContaining(null, "Search Limit Exceeded!", DEFAULT_WINDOW_TIMEOUT);
+ waitForWindowByTitleContaining("Search Limit Exceeded!");
assertNotNull(window);
pressButtonByText(window, "OK");
waitForSwing();
diff --git a/Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/app/util/demangler/DemangledFunctionTest.java b/Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/app/util/demangler/DemangledFunctionTest.java
index 7ba4755622..73f5ebba1d 100644
--- a/Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/app/util/demangler/DemangledFunctionTest.java
+++ b/Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/app/util/demangler/DemangledFunctionTest.java
@@ -51,7 +51,7 @@ public class DemangledFunctionTest extends AbstractGhidraHeadlessIntegrationTest
program.endTransaction(txID, false);
}
- /**
+ /*
* Test that the DemangledFunction will properly create a cascade of namespaces for
* functions that live inside of a class that lives inside of a namespace.
* This test applies a demangled name where the mangled name does NOT exist.
@@ -83,7 +83,7 @@ public class DemangledFunctionTest extends AbstractGhidraHeadlessIntegrationTest
assertEquals("ATL", ns.getName(false));
}
- /**
+ /*
* Test that the DemangledFunction will properly update a thunk function
* with its namespace, and ripple through to the underlying default thunked
* function. The thunk 'this' parameter should utilize the Class
@@ -132,7 +132,7 @@ public class DemangledFunctionTest extends AbstractGhidraHeadlessIntegrationTest
}
- /**
+ /*
* Test that the DemangledFunction will properly create a cascade of namespaces for
* functions that live inside of a class that lives inside of a namespace.
* This test applies a demangled name where the mangled name exists.
@@ -168,7 +168,7 @@ public class DemangledFunctionTest extends AbstractGhidraHeadlessIntegrationTest
assertEquals("ATL", ns.getName(false));
}
- /**
+ /*
* Test that the DemangledFunction will properly create a cascade of namespaces for
* functions that live inside of a class that lives inside of a namespace.
* This test applies a demangled name where the mangled name exists with address suffix.
@@ -205,7 +205,7 @@ public class DemangledFunctionTest extends AbstractGhidraHeadlessIntegrationTest
assertEquals("ATL", ns.getName(false));
}
- /**
+ /*
* Test that the DemangledFunction will properly create a cascade of namespaces for
* functions that live inside of a class that lives inside of a namespace.
* This test applies a demangled name where both the mangled name exists and
@@ -243,7 +243,7 @@ public class DemangledFunctionTest extends AbstractGhidraHeadlessIntegrationTest
assertEquals("ATL", ns.getName(false));
}
- /**
+ /*
* Test that the DemangledFunction will properly create a cascade of namespaces for
* functions that live inside of a class that lives inside of a namespace.
* This test applies a demangled name where the mangled name exists on an external
@@ -339,7 +339,7 @@ public class DemangledFunctionTest extends AbstractGhidraHeadlessIntegrationTest
private void assertSimpleNamespaceExists(String name) {
SymbolTable symbolTable = program.getSymbolTable();
Namespace ns = symbolTable.getNamespace(name, program.getGlobalNamespace());
- assertNotNull(ns);
+ assertNotNull("Namespace not created: " + name, ns);
assertEquals(SymbolType.NAMESPACE, ns.getSymbol().getSymbolType());
}
diff --git a/Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/app/util/demangler/gnu/GnuDemanglerIntegrationTest.java b/Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/app/util/demangler/gnu/GnuDemanglerIntegrationTest.java
index 67de329e85..e853173d5b 100644
--- a/Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/app/util/demangler/gnu/GnuDemanglerIntegrationTest.java
+++ b/Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/app/util/demangler/gnu/GnuDemanglerIntegrationTest.java
@@ -57,10 +57,11 @@ public class GnuDemanglerIntegrationTest extends AbstractGhidraHeadlessIntegrati
String mangled = "MyFunction__11MyNamespacePQ215$ParamNamespace9paramName";
GnuDemangler demangler = new GnuDemangler();
- demangler.canDemangle(program);// this perform initialization
+ demangler.canDemangle(program);// this performs initialization
GnuDemanglerOptions options = new GnuDemanglerOptions();
options.setDemangleOnlyKnownPatterns(false);
+ options = options.withDeprecatedDemangler();
DemangledObject result = demangler.demangle(mangled, options);
assertNotNull(result);
assertEquals("undefined MyNamespace::MyFunction($ParamNamespace::paramName *)",