From 50910f57d1353655c840a4d64e5fa004b0f6ba83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Fri, 13 Jan 2023 21:09:05 +0100 Subject: [PATCH] Fixed #1888 AS3 - Coerce to int when Number Fixed AS3 - super properties resolving --- CHANGELOG.md | 2 ++ .../decompiler/flash/abc/avm2/AVM2Code.java | 9 +++-- .../abc/avm2/instructions/SetTypeIns.java | 16 +++++++-- .../localregs/SetLocalTypeIns.java | 4 +-- .../avm2/instructions/other/GetSuperIns.java | 14 ++++++-- .../instructions/other/SetPropertyIns.java | 2 +- .../avm2/instructions/other/SetSlotIns.java | 2 +- .../avm2/instructions/other/SetSuperIns.java | 11 ++++-- .../flash/abc/avm2/model/CoerceAVM2Item.java | 34 +++++++++++------- .../flash/abc/avm2/model/ConvertAVM2Item.java | 34 +++++++++++------- .../abc/avm2/model/GetSuperAVM2Item.java | 14 ++++++-- .../abc/avm2/model/IntegerValueAVM2Item.java | 2 +- .../abc/avm2/model/SetLocalAVM2Item.java | 12 ++++--- .../abc/avm2/model/SetPropertyAVM2Item.java | 3 +- .../flash/abc/avm2/model/SetSlotAVM2Item.java | 3 +- .../abc/avm2/model/SetSuperAVM2Item.java | 16 +++++++-- .../model/clauses/DeclarationAVM2Item.java | 11 +++--- .../ActionScript3ClassicAirDecompileTest.java | 14 +++++++- .../ActionScript3ClassicDecompileTest.java | 14 +++++++- .../testdata/as3_new/bin/as3_new.air.swf | Bin 23994 -> 24069 bytes .../testdata/as3_new/bin/as3_new.flex.swf | Bin 31270 -> 31360 bytes .../testdata/as3_new/src/tests/TestConvert.as | 14 +++++++- 22 files changed, 172 insertions(+), 59 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d203c4c39..0d8ee6fc6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,8 @@ All notable changes to this project will be documented in this file. - [#1892] AS3 - internal modifier after implicit namespace - [#1888] AS3 - Coerce to string - AS3 - local registers type declarations vs for..in clause +- [#1888] AS3 - Coerce to int when Number +- AS3 - super properties resolving ## [18.3.2] - 2023-01-10 ### Removed diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java index 6a0b1b8f5..fd586ad9d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java @@ -255,6 +255,7 @@ import com.jpexs.decompiler.flash.abc.avm2.model.FindPropertyAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.FullMultinameAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.GetLexAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.GetPropertyAVM2Item; +import com.jpexs.decompiler.flash.abc.avm2.model.GetSlotAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.InitPropertyAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.LocalRegAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.NewActivationAVM2Item; @@ -1780,6 +1781,8 @@ public class AVM2Code implements Cloneable { vtype = ((CoerceAVM2Item) assignment.value).typeObj; } else if (assignment instanceof LocalRegAVM2Item) { //for..in vtype = ((LocalRegAVM2Item)assignment).type; + } else if (assignment instanceof GetSlotAVM2Item) { //for..in + vtype = ((GetSlotAVM2Item)assignment).slotType; } else if ((assignment.value instanceof SimpleValue) && ((SimpleValue) assignment.value).isSimpleValue()) { vtype = assignment.value.returnType(); } @@ -2196,19 +2199,19 @@ public class AVM2Code implements Cloneable { type = new TypeItem(abc.constants.getMultiname(param_types[i]).getNameWithNamespace(abc.constants, true)); } if (d.length > r) { - d[r] = new DeclarationAVM2Item(new SetLocalAVM2Item(null, null, r, new NullAVM2Item(null, null)), type); + d[r] = new DeclarationAVM2Item(new SetLocalAVM2Item(null, null, r, new NullAVM2Item(null, null), type), type); } r++; } if (abc.method_info.get(body.method_info).flagNeed_arguments()) { if (d.length > r) { - d[r] = new DeclarationAVM2Item(new SetLocalAVM2Item(null, null, r, new NullAVM2Item(null, null)), TypeItem.ARRAY /*?*/); + d[r] = new DeclarationAVM2Item(new SetLocalAVM2Item(null, null, r, new NullAVM2Item(null, null), TypeItem.ARRAY), TypeItem.ARRAY /*?*/); } r++; } if (abc.method_info.get(body.method_info).flagNeed_rest()) { if (d.length > r) { - d[r] = new DeclarationAVM2Item(new SetLocalAVM2Item(null, null, r, new NullAVM2Item(null, null)), TypeItem.ARRAY/*?*/); + d[r] = new DeclarationAVM2Item(new SetLocalAVM2Item(null, null, r, new NullAVM2Item(null, null), TypeItem.ARRAY), TypeItem.ARRAY/*?*/); } r++; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/SetTypeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/SetTypeIns.java index fb500c55d..2b3bd322c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/SetTypeIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/SetTypeIns.java @@ -20,6 +20,7 @@ import com.jpexs.decompiler.flash.abc.AVM2LocalData; import com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.CoerceAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.ConvertAVM2Item; +import com.jpexs.decompiler.flash.abc.avm2.model.IntegerValueAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.LocalRegAVM2Item; import com.jpexs.decompiler.graph.GraphTargetItem; import com.jpexs.decompiler.graph.TranslateStack; @@ -33,7 +34,18 @@ import java.util.List; */ public interface SetTypeIns { - public static void handleResult(GraphTargetItem value, TranslateStack stack, List output, AVM2LocalData localData, GraphTargetItem result, int regId) { + public static GraphTargetItem handleNumberToInt(GraphTargetItem value, GraphTargetItem type) { + if ((value instanceof ConvertAVM2Item) || (value instanceof CoerceAVM2Item)) { + if (type != null && (type.equals(TypeItem.INT) || type.equals(TypeItem.UINT))) { + if (value.value.returnType().equals(TypeItem.NUMBER)) { + return value.value; + } + } + } + return value; + } + + public static void handleResult(GraphTargetItem value, TranslateStack stack, List output, AVM2LocalData localData, GraphTargetItem result, int regId, GraphTargetItem type) { GraphTargetItem notCoercedValue = value; if ((value instanceof CoerceAVM2Item) || (value instanceof ConvertAVM2Item)) { notCoercedValue = value.value; @@ -84,7 +96,7 @@ public interface SetTypeIns { } } } - } + } output.add(result); } } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocalTypeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocalTypeIns.java index 0aea35dec..23f402ade 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocalTypeIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocalTypeIns.java @@ -124,7 +124,7 @@ public abstract class SetLocalTypeIns extends InstructionDefinition implements S } } - SetLocalAVM2Item result = new SetLocalAVM2Item(ins, localData.lineStartInstruction, regId, value); + SetLocalAVM2Item result = new SetLocalAVM2Item(ins, localData.lineStartInstruction, regId, value, value.returnType()); if (value.getNotCoerced() instanceof CompoundableBinaryOp) { CompoundableBinaryOp binaryOp = (CompoundableBinaryOp) value.getNotCoerced(); if (binaryOp.getLeftSide() instanceof LocalRegAVM2Item) { @@ -136,7 +136,7 @@ public abstract class SetLocalTypeIns extends InstructionDefinition implements S } } - SetTypeIns.handleResult(value, stack, output, localData, result, regId); + SetTypeIns.handleResult(value, stack, output, localData, result, regId, value.returnType()); } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSuperIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSuperIns.java index 675b2be54..2b7862630 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSuperIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSuperIns.java @@ -21,18 +21,20 @@ import com.jpexs.decompiler.flash.abc.AVM2LocalData; import com.jpexs.decompiler.flash.abc.avm2.AVM2Code; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition; +import static com.jpexs.decompiler.flash.abc.avm2.instructions.other.GetPropertyIns.resolvePropertyType; import com.jpexs.decompiler.flash.abc.avm2.model.FullMultinameAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.GetSuperAVM2Item; import com.jpexs.decompiler.graph.GraphTargetItem; import com.jpexs.decompiler.graph.TranslateStack; +import com.jpexs.helpers.Reference; import java.util.List; /** * * @author JPEXS */ -public class GetSuperIns extends InstructionDefinition { - +public class GetSuperIns extends InstructionDefinition { + public GetSuperIns() { super(0x04, "getsuper", new int[]{AVM2Code.DAT_MULTINAME_INDEX}, true); } @@ -42,7 +44,13 @@ public class GetSuperIns extends InstructionDefinition { int multinameIndex = ins.operands[0]; FullMultinameAVM2Item multiname = resolveMultiname(localData, true, stack, localData.getConstants(), multinameIndex, ins); GraphTargetItem obj = stack.pop(); - stack.push(new GetSuperAVM2Item(ins, localData.lineStartInstruction, obj, multiname)); + + Reference isStatic = new Reference<>(false); + Reference type = new Reference<>(null); + Reference callType = new Reference<>(null); + resolvePropertyType(localData, obj, multiname, isStatic, type, callType); + + stack.push(new GetSuperAVM2Item(ins, localData.lineStartInstruction, obj, multiname, type.getVal(), callType.getVal(),isStatic.getVal())); } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetPropertyIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetPropertyIns.java index aec57cd94..93ef4f17e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetPropertyIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetPropertyIns.java @@ -364,7 +364,7 @@ public class SetPropertyIns extends InstructionDefinition implements SetTypeIns SetPropertyAVM2Item result = new SetPropertyAVM2Item(ins, localData.lineStartInstruction, obj, multiname, value, type.getVal(), callType.getVal(), isStatic.getVal()); handleCompound(localData, obj, multiname, value, output, result); - SetTypeIns.handleResult(value, stack, output, localData, result, -1); + SetTypeIns.handleResult(value, stack, output, localData, result, -1, type.getVal()); } public static void handleCompound(AVM2LocalData localData, GraphTargetItem obj, FullMultinameAVM2Item multiname, GraphTargetItem value, List output, SetTypeAVM2Item result) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSlotIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSlotIns.java index 7d2047eae..ae4e5d859 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSlotIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSlotIns.java @@ -168,7 +168,7 @@ public class SetSlotIns extends InstructionDefinition implements SetTypeIns { } } - SetTypeIns.handleResult(value, stack, output, localData, result, -1); + SetTypeIns.handleResult(value, stack, output, localData, result, -1, slotType); } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSuperIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSuperIns.java index 33f71bc88..1dcb4314a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSuperIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSuperIns.java @@ -28,6 +28,7 @@ import com.jpexs.decompiler.flash.abc.avm2.model.SetSuperAVM2Item; import com.jpexs.decompiler.graph.GraphTargetItem; import com.jpexs.decompiler.graph.TranslateStack; import com.jpexs.decompiler.graph.model.CompoundableBinaryOp; +import com.jpexs.helpers.Reference; import java.util.List; import java.util.Objects; @@ -49,7 +50,13 @@ public class SetSuperIns extends InstructionDefinition implements SetTypeIns { FullMultinameAVM2Item multiname = resolveMultiname(localData, true, stack, localData.getConstants(), multinameIndex, ins); GraphTargetItem obj = stack.pop(); - SetSuperAVM2Item result = new SetSuperAVM2Item(ins, localData.lineStartInstruction, value, obj, multiname); + + Reference isStatic = new Reference<>(false); + Reference type = new Reference<>(null); + Reference callType = new Reference<>(null); + GetPropertyIns.resolvePropertyType(localData, obj /*??*/, multiname, isStatic, type, callType); + + SetSuperAVM2Item result = new SetSuperAVM2Item(ins, localData.lineStartInstruction, value, obj, multiname, type.getVal(), callType.getVal(), isStatic.getVal()); if (value.getNotCoercedNoDup() instanceof CompoundableBinaryOp) { if (!obj.hasSideEffect() && !multiname.hasSideEffect()) { @@ -64,7 +71,7 @@ public class SetSuperIns extends InstructionDefinition implements SetTypeIns { } } - SetTypeIns.handleResult(value, stack, output, localData, result, -1); + SetTypeIns.handleResult(value, stack, output, localData, result, -1, type.getVal()); } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java index 9d1cd0aa1..2bb118d3d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java @@ -66,23 +66,33 @@ public class CoerceAVM2Item extends AVM2Item { displayCoerce = false; break; case "Boolean": - displayCoerce = !valueReturnType.equals(TypeItem.BOOLEAN) && - !valueReturnType.equals(TypeItem.UNBOUNDED); + displayCoerce = !valueReturnType.equals(TypeItem.BOOLEAN) + && !valueReturnType.equals(TypeItem.UNBOUNDED); break; case "Number": + displayCoerce = !valueReturnType.equals(TypeItem.INT) + && !valueReturnType.equals(TypeItem.NUMBER) + && !valueReturnType.equals(TypeItem.UINT) + && !valueReturnType.equals(TypeItem.UNBOUNDED); + break; case "int": + displayCoerce = !valueReturnType.equals(TypeItem.INT) + && !valueReturnType.equals(TypeItem.UNBOUNDED); + break; case "uint": - displayCoerce = !valueReturnType.equals(TypeItem.INT) && - !valueReturnType.equals(TypeItem.NUMBER) && - !valueReturnType.equals(TypeItem.UINT) && - !valueReturnType.equals(TypeItem.UNBOUNDED); + if (valueReturnType.equals(TypeItem.INT) && (value instanceof IntegerValueAVM2Item)) { + displayCoerce = (((IntegerValueAVM2Item) value).value < 0); + } else { + displayCoerce = !valueReturnType.equals(TypeItem.UINT) + && !valueReturnType.equals(TypeItem.UNBOUNDED); + } break; case "String": - displayCoerce = !valueReturnType.equals(TypeItem.STRING) && - !valueReturnType.equals(new TypeItem("XML")) && - !valueReturnType.equals(new TypeItem("XMLList")) && - !valueReturnType.equals(new TypeItem("null")) && - !valueReturnType.equals(TypeItem.UNBOUNDED); + displayCoerce = !valueReturnType.equals(TypeItem.STRING) + && !valueReturnType.equals(new TypeItem("XML")) + && !valueReturnType.equals(new TypeItem("XMLList")) + && !valueReturnType.equals(new TypeItem("null")) + && !valueReturnType.equals(TypeItem.UNBOUNDED); break; default: displayCoerce = false; @@ -149,7 +159,7 @@ public class CoerceAVM2Item extends AVM2Item { } if (typeObj instanceof TypeItem) { return typeObj; - } + } return new TypeItem(typeObj.toString()); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConvertAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConvertAVM2Item.java index 4af94ed2f..6c30fa375 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConvertAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConvertAVM2Item.java @@ -54,24 +54,34 @@ public class ConvertAVM2Item extends AVM2Item { GraphTargetItem valueReturnType = value.returnType(); switch (type.toString()) { case "Boolean": - displayConvert = !valueReturnType.equals(TypeItem.BOOLEAN) && - !valueReturnType.equals(TypeItem.UNBOUNDED); + displayConvert = !valueReturnType.equals(TypeItem.BOOLEAN) + && !valueReturnType.equals(TypeItem.UNBOUNDED); break; case "Number": + displayConvert = !valueReturnType.equals(TypeItem.INT) + && !valueReturnType.equals(TypeItem.NUMBER) + && !valueReturnType.equals(TypeItem.UINT) + && !valueReturnType.equals(TypeItem.UNBOUNDED); + break; case "int": + displayConvert = !valueReturnType.equals(TypeItem.INT) + && !valueReturnType.equals(TypeItem.UNBOUNDED); + break; case "uint": - displayConvert = !valueReturnType.equals(TypeItem.INT) && - !valueReturnType.equals(TypeItem.NUMBER) && - !valueReturnType.equals(TypeItem.UINT) && - !valueReturnType.equals(TypeItem.UNBOUNDED); + if (valueReturnType.equals(TypeItem.INT) && (value instanceof IntegerValueAVM2Item)) { + displayConvert = (((IntegerValueAVM2Item) value).value < 0); + } else { + displayConvert = !valueReturnType.equals(TypeItem.UINT) + && !valueReturnType.equals(TypeItem.UNBOUNDED); + } break; case "String": - displayConvert = !valueReturnType.equals(TypeItem.STRING) && - !valueReturnType.equals(new TypeItem("XML")) && - !valueReturnType.equals(new TypeItem("XMLList")) && - !valueReturnType.equals(new TypeItem("null")) && - !valueReturnType.equals(TypeItem.UNBOUNDED); - break; + displayConvert = !valueReturnType.equals(TypeItem.STRING) + && !valueReturnType.equals(new TypeItem("XML")) + && !valueReturnType.equals(new TypeItem("XMLList")) + && !valueReturnType.equals(new TypeItem("null")) + && !valueReturnType.equals(TypeItem.UNBOUNDED); + break; } if (displayConvert) { type.toString(writer, localData).append("("); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSuperAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSuperAVM2Item.java index 74687b845..efd7c3928 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSuperAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSuperAVM2Item.java @@ -20,7 +20,6 @@ import com.jpexs.decompiler.flash.helpers.GraphTextWriter; import com.jpexs.decompiler.graph.GraphSourceItem; import com.jpexs.decompiler.graph.GraphTargetItem; import com.jpexs.decompiler.graph.GraphTargetVisitorInterface; -import com.jpexs.decompiler.graph.TypeItem; import com.jpexs.decompiler.graph.model.LocalData; import java.util.Objects; @@ -34,10 +33,19 @@ public class GetSuperAVM2Item extends AVM2Item { public FullMultinameAVM2Item propertyName; - public GetSuperAVM2Item(GraphSourceItem instruction, GraphSourceItem lineStartIns, GraphTargetItem object, FullMultinameAVM2Item propertyName) { + public GraphTargetItem type; + + public GraphTargetItem callType; + + public boolean isStatic; + + public GetSuperAVM2Item(GraphSourceItem instruction, GraphSourceItem lineStartIns, GraphTargetItem object, FullMultinameAVM2Item propertyName, GraphTargetItem type, GraphTargetItem callType, boolean isStatic) { super(instruction, lineStartIns, PRECEDENCE_PRIMARY); this.object = object; this.propertyName = propertyName; + this.type = type; + this.callType = callType; + this.isStatic = isStatic; } @Override @@ -60,7 +68,7 @@ public class GetSuperAVM2Item extends AVM2Item { @Override public GraphTargetItem returnType() { - return TypeItem.UNBOUNDED; + return type; } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/IntegerValueAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/IntegerValueAVM2Item.java index 065f45069..5350b7ff6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/IntegerValueAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/IntegerValueAVM2Item.java @@ -146,7 +146,7 @@ public class IntegerValueAVM2Item extends NumberValueAVM2Item implements Integer } @Override - public GraphTargetItem returnType() { + public GraphTargetItem returnType() { return TypeItem.INT; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetLocalAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetLocalAVM2Item.java index 4f488f45f..7845419a7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetLocalAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetLocalAVM2Item.java @@ -19,6 +19,7 @@ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instructions; +import com.jpexs.decompiler.flash.abc.avm2.instructions.SetTypeIns; import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.clauses.DeclarationAVM2Item; import com.jpexs.decompiler.flash.helpers.GraphTextWriter; @@ -43,6 +44,8 @@ public class SetLocalAVM2Item extends AVM2Item implements SetTypeAVM2Item, Assig public GraphTargetItem compoundValue; public String compoundOperator; + + public GraphTargetItem type; @Override public DeclarationAVM2Item getDeclaration() { @@ -54,9 +57,10 @@ public class SetLocalAVM2Item extends AVM2Item implements SetTypeAVM2Item, Assig this.declaration = declaration; } - public SetLocalAVM2Item(GraphSourceItem instruction, GraphSourceItem lineStartIns, int regIndex, GraphTargetItem value) { + public SetLocalAVM2Item(GraphSourceItem instruction, GraphSourceItem lineStartIns, int regIndex, GraphTargetItem value, GraphTargetItem type) { super(instruction, lineStartIns, PRECEDENCE_ASSIGMENT, value); this.regIndex = regIndex; + this.type = type; } @Override @@ -73,8 +77,8 @@ public class SetLocalAVM2Item extends AVM2Item implements SetTypeAVM2Item, Assig writer.append(" = "); /*if (declaration != null && !declaration.type.equals(TypeItem.UNBOUNDED) && (value instanceof ConvertAVM2Item)) { return value.value.toString(writer, localData); - }*/ - return value.toString(writer, localData); + }*/ + return SetTypeIns.handleNumberToInt(value, type).toString(writer, localData); } @Override @@ -141,7 +145,7 @@ public class SetLocalAVM2Item extends AVM2Item implements SetTypeAVM2Item, Assig @Override public GraphTargetItem returnType() { - return value.returnType(); + return type; } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetPropertyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetPropertyAVM2Item.java index 8bcd6ecb2..5a8958273 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetPropertyAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetPropertyAVM2Item.java @@ -19,6 +19,7 @@ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instructions; +import com.jpexs.decompiler.flash.abc.avm2.instructions.SetTypeIns; import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.clauses.DeclarationAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator; @@ -103,7 +104,7 @@ public class SetPropertyAVM2Item extends AVM2Item implements SetTypeAVM2Item, As /*if (declaration != null && !declaration.type.equals(TypeItem.UNBOUNDED) && (value instanceof ConvertAVM2Item)) { return value.value.toString(writer, localData); }*/ - return value.toString(writer, localData); + return SetTypeIns.handleNumberToInt(value, type).toString(writer, localData); } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSlotAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSlotAVM2Item.java index 88f1a90a2..9cbbea922 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSlotAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSlotAVM2Item.java @@ -16,6 +16,7 @@ */ package com.jpexs.decompiler.flash.abc.avm2.model; +import com.jpexs.decompiler.flash.abc.avm2.instructions.SetTypeIns; import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.clauses.DeclarationAVM2Item; import com.jpexs.decompiler.flash.abc.types.Multiname; @@ -102,7 +103,7 @@ public class SetSlotAVM2Item extends AVM2Item implements SetTypeAVM2Item, Assign /*if (declaration != null && !declaration.type.equals(TypeItem.UNBOUNDED) && (value instanceof ConvertAVM2Item)) { return value.value.toString(writer, localData); }*/ - return value.toString(writer, localData); + return SetTypeIns.handleNumberToInt(value, type).toString(writer, localData); } public String getNameAsStr(LocalData localData) throws InterruptedException { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSuperAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSuperAVM2Item.java index 7db0b5d7c..d4451705f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSuperAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSuperAVM2Item.java @@ -16,6 +16,7 @@ */ package com.jpexs.decompiler.flash.abc.avm2.model; +import com.jpexs.decompiler.flash.abc.avm2.instructions.SetTypeIns; import com.jpexs.decompiler.flash.abc.avm2.model.clauses.DeclarationAVM2Item; import com.jpexs.decompiler.flash.helpers.GraphTextWriter; import com.jpexs.decompiler.graph.GraphPart; @@ -40,6 +41,12 @@ public class SetSuperAVM2Item extends AVM2Item implements SetTypeAVM2Item { public GraphTargetItem compoundValue; public String compoundOperator; + + public GraphTargetItem type; + + public GraphTargetItem callType; + + public boolean isStatic; @Override public DeclarationAVM2Item getDeclaration() { @@ -65,10 +72,13 @@ public class SetSuperAVM2Item extends AVM2Item implements SetTypeAVM2Item { return value.getFirstPart(); } - public SetSuperAVM2Item(GraphSourceItem instruction, GraphSourceItem lineStartIns, GraphTargetItem value, GraphTargetItem object, FullMultinameAVM2Item propertyName) { + public SetSuperAVM2Item(GraphSourceItem instruction, GraphSourceItem lineStartIns, GraphTargetItem value, GraphTargetItem object, FullMultinameAVM2Item propertyName, GraphTargetItem type, GraphTargetItem callType, boolean isStatic) { super(instruction, lineStartIns, PRECEDENCE_ASSIGMENT, value); this.object = object; this.propertyName = propertyName; + this.type = type; + this.callType = callType; + this.isStatic = isStatic; } @Override @@ -88,7 +98,7 @@ public class SetSuperAVM2Item extends AVM2Item implements SetTypeAVM2Item { return compoundValue.toString(writer, localData); } writer.append(" = "); - return value.toString(writer, localData); + return SetTypeIns.handleNumberToInt(value, type).toString(writer, localData); } @Override @@ -109,7 +119,7 @@ public class SetSuperAVM2Item extends AVM2Item implements SetTypeAVM2Item { @Override public GraphTargetItem getObject() { - return new GetSuperAVM2Item(getInstruction(), getLineStartIns(), object, propertyName); + return new GetSuperAVM2Item(getInstruction(), getLineStartIns(), object, propertyName, type, callType, isStatic); } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/DeclarationAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/DeclarationAVM2Item.java index ceb809ebf..fec57217d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/DeclarationAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/DeclarationAVM2Item.java @@ -17,6 +17,7 @@ package com.jpexs.decompiler.flash.abc.avm2.model.clauses; import com.jpexs.decompiler.flash.IdentifiersDeobfuscation; +import com.jpexs.decompiler.flash.abc.avm2.instructions.SetTypeIns; import com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.CoerceAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.ConvertAVM2Item; @@ -60,8 +61,8 @@ public class DeclarationAVM2Item extends AVM2Item { public DeclarationAVM2Item(GraphTargetItem assignment) { this(assignment, null); - } - + } + @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { @@ -105,7 +106,7 @@ public class DeclarationAVM2Item extends AVM2Item { type.appendTry(writer, localData); if (showValue) { writer.append(" = "); - val.toString(writer, localData); + SetTypeIns.handleNumberToInt(val, type).toString(writer, localData); } return writer; } @@ -124,7 +125,7 @@ public class DeclarationAVM2Item extends AVM2Item { type.appendTry(writer, localData); if (showValue) { writer.append(" = "); - val.toString(writer, localData); + SetTypeIns.handleNumberToInt(val, type).toString(writer, localData); } return writer; } @@ -144,7 +145,7 @@ public class DeclarationAVM2Item extends AVM2Item { type.appendTry(writer, localData); if (showValue) { writer.append(" = "); - val.toString(writer, localData); + SetTypeIns.handleNumberToInt(val, type).toString(writer, localData); } return writer; } diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicAirDecompileTest.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicAirDecompileTest.java index e392bd267..008384201 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicAirDecompileTest.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicAirDecompileTest.java @@ -229,6 +229,7 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "var xlist:XMLList;\r\n" + "var lc:LocalClass;\r\n" + "var f:Function;\r\n" + + "var d:Number;\r\n" + "var s:String = \"a\";\r\n" + "var i:int = int(s);\r\n" + "var j:int = n;\r\n" @@ -293,7 +294,18 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile + "{\r\n" + "trace(\"obj\");\r\n" + "}\r\n" - + "s = xlist;\r\n", + + "s = xlist;\r\n" + + "d = 0;\r\n" + + "d = 1;\r\n" + + "d = 1.5;\r\n" + + "i = 1;\r\n" + + "i = 1.5;\r\n" + + "o[int(d * 5)] = 1;\r\n" + + "this.n = 1.5;\r\n" + + "super.prot = 1.5;\r\n" + + "super.prot = int(s);\r\n" + + "i = super.prot;\r\n" + + "s = String(super.prot);\r\n", false); } diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicDecompileTest.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicDecompileTest.java index d8c37a363..b923fdf14 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicDecompileTest.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/as3decompile/ActionScript3ClassicDecompileTest.java @@ -225,6 +225,7 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "var xlist:XMLList;\r\n" + "var lc:LocalClass;\r\n" + "var f:Function;\r\n" + + "var d:Number;\r\n" + "var s:String = null;\r\n" + "var i:int = 0;\r\n" + "var a:* = undefined;\r\n" @@ -292,7 +293,18 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes + "{\r\n" + "trace(\"obj\");\r\n" + "}\r\n" - + "s = xlist;\r\n", + + "s = xlist;\r\n" + + "d = 0;\r\n" + + "d = 1;\r\n" + + "d = 1.5;\r\n" + + "i = 1;\r\n" + + "i = 1.5;\r\n" + + "o[int(d * 5)] = 1;\r\n" + + "this.n = 1.5;\r\n" + + "super.prot = 1.5;\r\n" + + "super.prot = int(s);\r\n" + + "i = super.prot;\r\n" + + "s = String(super.prot);\r\n", false); } diff --git a/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.air.swf b/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.air.swf index 4e882cd39fdc87be3dd67c6b7bef46771c8cf46c..d3504faf66d44603b0e6e1d780a2b827aef6f802 100644 GIT binary patch delta 23960 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

)G3=3zzR9j=Raazfi=0)daRHIj-5nR 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 D5S-4J delta 23915 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 KJp2Q(6AQr!x4stu diff --git a/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.flex.swf b/libsrc/ffdec_lib/testdata/as3_new/bin/as3_new.flex.swf index a82b31fdc3022b9ef1f78effbb96f5684bdeaec7..594f35119e5e977c149c05387745693b26718a02 100644 GIT binary patch delta 31293 zcmV)LK)JuB^Z|hN0e?eRQx5%M0RVUbyuAr@Tv>V^_U>EjRTY3jVF$Pr$>IVKTNQRT z$sxFPvo+m4J?!aOy3tets3OsgZBPX+lE4Me zn`xV~1+gt8`|NHO% zea-wQn%4R|n$|0{tL=T7rv15&zbiED{MK^m+!wE2&)i>IT`!-*)rHe{DwWN1V`KO3 z-5b3(F}ksJdn`9MH#at(AIs-Q&|;+gV7*efKeApvarz<;aJ5)o+FIGHtZb}jXu!ha z#&+ex>C@h*%YRG3pqtxUt32fL(pYh|xK>=Rl*e+TISjPCbgs0qwN|KHENpJBt}GR3 zxUu^q zy?0Ul(n~brXrXMCEBGMh%KAzrRajoWb{CNG`G1virMO<)viK^=(?43InsV#>)vMR8 z-g@heTQ}dDfBBkAqm0pyD0XZW@i@iE2<=?IxwUc^U-BH?#Jsz)vfOj)*6od3m5p1= z#S#?);BMV1u5KEe8)Y*;Jv-4N@438E-drs_uy107O3{8}@%`dbrH$`!6;*}G65yeQ zPJhu#*0$eRuN1cmOO=(oMOo4vslT#;HMD}4JLEsZ5+J7bLCpNr^rSH{IcHmRNt9B$Ej$ zFxo__y-%e2@pnMPT-VZs(C0Os=35vdc7IjiTsKh~bB!nCFLS9IpZ$qZ{ib*_Uj1e9 zn;%?g2v?tefZ7`MAwCZ0F3&w(3GE3Hzl78LL2dm!_=&u{P8$W^mzlQ!l z776XwMD;I<1v_kNqv@|xQ$xpX=bntCajK{-#7pt>#}`^kE#nKVrGM7( z1-In#&sVg={O?W-J>nSPhn)q$H@yo%T=~`#&_=mf9(xN{H)xg%t1G`y+|oRtK7KgT z>|9MVr+llhx_PId*y=X$B;xv*y3(Vh0L9;V(G&1(V^oP?G>!M^$+le z9@VM<9E)A`!(``XS|YbP=Ap(AEzaMZ7|V~3Pme8budG&9)<+`kYd=}-mwwSQGjjO} zYkq61@W9B;AgxUs#qhsM5cJw3eVI5#Zn6d+hp~X5yS2vDc z9DO+YaSY%%bX0U@@b{QVBwYvV$GU_yCJdYZn9e0yewJp4O9I83c}d5$FfJLm!YUJq zt5_ab%4lJjv$Q&N&3#WS=zk@B*t#qV;>W@k@gL*C67LyY8bhh^o=K~3!6+GT>je{F zkA-Vm*M8zwyRbrAo^Z?fWpT%~B!N4FVy>w&!Mt{j)S)D1ak>DX~ z-utYVhg=psI97!CKtj2g7njAA&f43LZEdd`E9;ekx{9|5H}EJ1+Pny0^_dBayT`*m z9$4xVQx@atR4?Y0a5Io}oY1q;?&xW^T}XVa17m8y!~he$MYOiz=)l~$Ca|tC58yx* z%_aatpbKWg^sun5n}60L0X*jroS2$hb+cCalWKe?YyIHv(A_jP^}(HN=lAcX4*?k` z7sRlAU0_aIcd};ELQyI!UP+DNqyr^NmpHogqPPoP9PZM+lXbXDZ&rV$dI;q)ESGW;x7FgIKQ~D@j+&#ytsbhI8fN+R8ZwQ=Ow`zJ3l5*TD?x^$Eedq z@ACW@4}DQzS$}RJP?FD;oykk^YL0{xl?^=R&C1rw`fZa&c5q2FlSz+d@l%0dtK6}- z3hT=oYhvXGJ?AB%ev#ke{IPegT%CVw{vG*FrR{Z)D;w))1~b1%C9>4LetG_8=0c>% zEf*^{zkFTNH8-xF%LH9B<$EQ+ID>KcV<|u0m@bbxs(&`Vpmu%9Z}*L1|IB|Jmk2fW zjvJemGTka@c>VGywK8&6OP zM>vyd)Gzo#FM15Rnfd_tR+cMwhBJ4HE4S}d_P#fDJCpgv3^zX~|M!; zZrom3SMS{j2DlLc!Tilp%--^9@k{06*5|3~aDP+KXz=2-T#0&rW=d+`xelVZ)jmP! zHdffZ(wRZ;(O)g|XlF9s7(Qs1dG)W99)uu<#|S^3+vH2ud>Hkee2|U2)=DY7Q2@&q zE@alXSEKN@*FumDgUNN>tzu<+YdtLZhClD&>WtiUv$(ZZ&KzrW%dxS{Hl`R@IfKc+ zU4LB0QpjNDGvH9MCYCehjkRKi23X-mT^8OPwICL8#kB)41fB0 z!mBqch01n$kH^3}McbX(<5T+J>$;JJA3TY=JoZ8}{?r6GDtvwyII(t>?KMmtwhE`H z31X%1e6JLKii|8E+NyT1_rLz~#?m$kMCmhKld{pv4{j`bixCSVB&_P-w!x&-VxsU_ z&H%G90vyg1??b}2TwMM_h!kn{)PFtV3)gC+K`vylS2Y+s+$%npfq?j2qekI^3qXM& z!3ThF2nA0PzVI4ITJ4OtCxwI6PkVz-4K`N)zJnpzpe&FEFF6W1Akm+vhfm{UMz>@C zjeJ1*hWC8(dSQVn^YddKnf~QWK%+|@0@BIVjZA54V=c2pvecJkae$Kse}B>AH6V~I z%KdI>W4Y)x`vzCyCfyi!WF)ip02~8vb^yDPk&EVfVXbK2WSYX_O7VeFSY0(~{}Z=e z;(M>qZ4-QkO%nau>AdVSZNy@;Y_%&|{FdZ!nsV3EbB@Yn_oQPT zo-jwsa$MJ!>bOUwMD#FZnSYKEYfXt(O}L%H?GldB-P$7tglnUw&oTO4$a(Cej*)Tf zV~%~?u}?U5*0Bd1`=n!^a_rNNG3Xd)9c#=n#wF9*{iXpH*nTqp<)KfQakq;i^UzqciXyA6@rAkOP=A@Z7L$M6Do%#o z57$K1EsAOjiD-u7!-?T!HBl6+;_HuxTOL0iZpG2|__9Dpz1mh3sM1T;qcswq$_x9t zqkXt$R@=Sn7*(d}#-DQI*!@RKCP`C=^~>UU>V&4bi{`TvOV*+_v}7M50qk(^_eiqv z^x2|SNF0vYF)MEx?SIdAcVlMEcpB4b#Ll81F%gNKZi>qqyM23dCpiTXMGnVt=OAr?GTKm3f?r$~+9n zst=bAkJAsyJPrjik4l}G?E1#m{Q9yl_UKc@WM0j|h{@#O5Ple|#dUEXqQynABvw?B znYgM5&18F8(Tc##E2Kp#Pn$03xtt;}lYN4WC)J7TK3uo(^#IOV`Kq>`cI;i{k z1ChJ=!vp>-628rNa98jZds|x@TjkibH?Ci!Gf}koZ+HCz5=0(tP)soC-=!H;8o6;# zj+<1w`G0^pJtH-4PIo(jrU@mRg-wOEZGh1h$4onVhnx0cG=VRjlrY*V+EO?=h3!DG zrVA^CQM(>S4Z})QFkukr`g?P}D8ULC# z^n7UiEH;SF!!bQ|T+{HU+MR-SpR0vm-AmQLZhutmo@)OXgABZ^cMj)uqjUI8)2IP2 z0yssOYe7BWl$>$;A@H&T@Oq~XyohvIs$Bc}c44*bgIJF;gOU2>0|7Jj7OW8vB?)LT zaP};l>JLFjZ5&W8;(lh27QOn4XujqonoQO9_F>Z3E&%;O zPk-QgD&Ro>Yjiq#7w8>G`7tj>4BCCtF|;sLvdS0g-ZYMGf=m-rEFn{n;uk6hVG4#% zowUIbjl-~nPha6+lfvQ2bpfrf(E8#)aES#SN&_8wh87=LCD5ns$@p-*nu4~#h-eGC z(a2P_1$zP5W*vaN!A2&9)h`gEUxb`ff`6GIVAinPrs;p>FVnxD{IKs(I5iFWyni5| zSAQb_puU;YH}m@DguXecZ%*l((+YIe_aG?r5h7bUNaF|lb=ER_a3=~AFM2)JtJDwO z3<`~0Zd`(3H-TXN06rj2PZDxWz#swpwgxp96kIKi(MoDASRNQXOflO~Z{nX3|9=%b znG}X@K#gg)fr5et77DQ19o@1STbd!ZwCYJ|m@!zVLuhnpJI4>mdfLwM6EpGSS`Hfm zM0ZUBO%<(yUb9Q~IQvjVjC|I%W>s^L$}-|`B0AUb@MmR5GnpzdIHO@DYoWgGfN zz5~L6tAVx32Y%64UCwSVl*k%Dvm5o&hLpqS>`zi193`6&q^yleX1^w|l5 z2nP_+#@i(*IcT&Kj+w%y>8AW$lJuUy7evV=MN2D=cB15Hmuy1Gf!P}k=iOy8uIgfI zjJ+zv^1Sv4D2c8>TV2*3J+CHwJQS!XTWh9&Pon96!A@B-{jk+pS>G;x9)H63a9`{1 z4c8!9^C&G!2ZCOrHz9xk0WbHquF^`W@}Nx0fy~-AEHpM(A7l!#%AJ+1O0l>eD{XA^ zNt`#p2kS6AYK6^H0ZlVYs|85S!3ZpafThfV0$TW(uBWH>-fvMt`VNR8n7aJJRE)>DUZoymUHyEalF3r-VH zf6`20lRat1?16u4ch@|zySu)-`(StXTf4is{;^2vr>m#&s-LEQ70>Zw(P9i$hj6`Q zrhc9aTFsH_2o+eV&wtUAj)4tw`So+D>$vFzt~>d9Ds>6hGq{fN^<1hO*Ds~!@H?_- zeS{%Um+$&7@r{NSO08v^swv*LL0@P)6pHJ4zKlb^?-0>K|zXs9YA(PDIc?idEud{8k zzvIuTII+If!GF+`5MmF+DpI18yL0;Z(1%273o#*(P*YD#wXy z5a1fx9Df6JBIJH)M|3!XEtpA6f5II=iS;uyz~!;!}^fnyTK)U?RV;P0&7 zmI66yn(ieS=n1WrxDm3+1A!WwCksuH0+w=2n}6#qi~rar|8bmoEhd20ETO+?*mz4< zZzGA1E3SeUiYM6a(>LX_Vy5*82`6LHln+u#OF$}V>yS#~%MdTqO1w;}8qaEAxfA$( z4$-6r0VRkJ5>P@iNz%x+EF|?#`IAK_=FrJ=|Kw9Tp@u246@^Sv7Y_wUhxSFA{(ExW z(0|arV0!Hf7M&FAYWm3{X${yKwBt$EjEs(58m;cQRT6mWoggG&G#DT5UbG%xkBh-- zkG~_62%rymdLV0&2!K#`4~mY^`}S)`s+ooO4)-{Q9%e*BFozN=ltS2GBh57Wj#1ws zZLFGmvU8bGKkRr->o97DWX(|ZESaj={Wv~nOPXn*~uj{&ec1jWugu33rr9LvBF&>QYR`U^ebCGk*S z(^1Q+!IF{HT1gR+Tri<(gQl-!T{p2b!2|0M%Q&FDbhv>iOU|mc(;}o*K~~=uRz*^J zUBLB%Rz)0Tas>?6tpG_W1VnSEq7nA1ZXF28?2Qh{mf$Pd*S4>3Zvd3e9e-zL_So^3 z#lq4DW%3<6mw7kSQ--EAW}}g$q8q>`^2t zH=`{MMxqkE2@%&@QG;m}tn@o8)}4)e%MV)CU_Dc~UCh8U@!q<^7(|C7SW$!}HI+R3 zk#}qkIjXQEI$SLPNfiN57JG>i?gEYF=?8$GFdwWJXq8};676Xm-G2fySn@%L$Y2RY znGqCan$|y|4H0mZ)mW_xISCOMa01K5zw5apwEhhenm8iKB+K*Ecd_ZFE|P?xeZc@s z8Nf&B)Ssn-P87tspi635dr*+zg5K1-)S^Fi3lifufzn!^ehMY5_RJG|oJCPbR>(_{ zBBzJ$tS&G0P{?7hkblF783X^>?ym7@clS4TcfY&4iwlTh3=l^2G|8twDnExPr|U~7 zJ__IlHdK5ZYP7EAg0qMG_z&yk3RlRS)Q9r+HXtW&pOX~}2Z9`VY=Y@PN~j1kxRM~W zujXMqDIT7;DLhVl1c6Ji%mdbfA+}Ozs#q8dH5C*DdYjwo%YW<~0AEZ3peF-Jkqm$U z@WsMl1H$0*68>07M}#x1W!MqM1x5UvM8V|Uk_NYc(&symNc)*R@rV&#Q_=9=i0pr; zn^`!zuIBxjO(`=gD-LF6d2E{555$Txr(9e!r?QMDh|hkyIpr?3bDD(82isDNm^a;* z=RlI8(R^Z0a({`?5%D&VGCY@1FZw1Ldc8u2Jo2tJm`h@K$h8S``84Z1#^1!#tknrq zkZQ}*Y%GZzg6$zqWE!>_pHw^QmMbY4)!hkVAo$9S(+|-zI&LcIncuDx1Kn6(!mIPF z8X73O3B^Fit2-D29XYtSW=Y6nE!~0dinRh0&HLV7bbt2j-NKfIrF>~XyQweeb zR2@&P(cV!rkcNV+Cqx)0p=h_;3%Ab0j>tIrDMuf2%wb0#A&z2Lce@P$ChgQ&94C2k zX_^#kSf|CAK^$jsjN{1R$iu;!1gN@w3F1{lXn&AbknAGv#=%@CPzVhyhBGu_>F!l* z>xKcbgfPJn0PlJZhMfu1`W>?HaHUiN0trh%AYtoWB$YTqQi(Gpl^BFP0;&<(+@afO z0huVRpjvl68hZ2zipXw78bPIYwue6AvUZe7L#Xu5Z^&k3KP4@qI??PmxLH?LWc93( zHGi|#+t#B`*`7)Y|9hT66p_`3mSQFSM?*{QqO%xVbPIaSjXALx?%IptIvCCODNS+z z25tM%wv*cqC~beg(Xgbe>Efn`m8N*!2E!g%FkUrCK~g=6UOn6^vmh2pic&H^!n4y; z7tB~JCaG;w_VjVH<3Tfe;@Wm6(5|1`L4OtCo0ZL6|hi)^1S1Sc^8E0+w$}&Z3jG3VQV{dK}>%!&Ljx5LLz&vGbyG1eHg* za&$pF!AC6FLqA%IFS?8If*p&;Bo{FzYa$iZadbV#U2{R#->>VMmt7+j)d_Sx&VOAe z{jPwE+Ph9Qy6ZH$p5U%Cepk$WZP(dGcRlwqO2Lg;!`$_`jDNVU@J`W@2<5XCxxzrzv|!X6`3g;mn^{kVmagv` zP&u=b1DD!nSo#Gfe~1wPiBGNO*&^fATFo=;TZoFaL(0b?d>dt>Ov|*kYbhT>wB+h< zw1J-0LmJ5Au7C@ZI|~Lhpx*<>^4IPTrA=6mX05wK>5_>!FfQag!!6aeXMc}B1O{qf zG-X{Hb*(G|>I5K085#S?0FA1FP%e5&AEzIJgis3pf7CHTYAV9y1;-9oh?Hh<^ZYc#$7Id+z9F zEsh8{-FW#qNjPAXvhyRLik7FpPwdi87NH!xND#0*`N7@xe*ket8*@o17_>iUNpBPb z5Kd4rz@EI)|EFRA{(P|KzgAefBVE(xDUOT3>U$OJ-k{aNsLbnc1gK#5C02n;X2dG3 zY?Ujl>uA_Mo0}fruYaz?E*GJVUAD;73cnO$$3~2(waf`cLtcLuf=ESW-Jk*OQT4@5 zp>#IK3hMfvA*51d9Nmg_yFG3!UaRcDerJOcdH#v@Qs4 z1n%N#7JLzkAPf9-2gG&?dSDlYk6QUTyCF1BULAysAuvm01 zZ)~g<3+rNu&3`Ra=@Ab}V5vw1Wf?&tpEU)(=~X!z7(n)oGxV7~tCRwHv6>$X*m`G+(SF)o9r1LN*r4viNU$0Oz|^KwAc1JDq=_ zbuWrjccDCslY%UL4&+l3HC7p3bS>1Ryk?{j4=3V(fq$mPk6Dftaina@N8T6xFN@n>zXx3&p4LJHKHY%`)Sv~VN}3PXpyN7KoG-dstb@ka zr157Fs+DDqXXj(%PDO%J-)QBtCc9V(U3VXEhZaj7qTE=2YiqmcY^-00zerKpq3e1Q zVCEQzS${lJUr#_cDaG1No*4mYeF`}! zNjBnH7vw*Xqxm0@rx;{IgAjz$IR|}umUX^&Hw}dj%VJo0mm;QsL@tu`ZZ0C-(^7J} z4$f|@BXnUH>8o2&`TA7{qw@7e_aI5ak-2!`!hf{6c#M87T$rJ=83S(ZivHH?Mqs4q zZ~aonaPp0sf=onz>kUu~D2O)~=sjTHL{S-CMEH_OjoidQwh^UHaTsxQ0deg^??JNi z`?Y`)z=%mOf-qp65EVj|m9;ww7_ehX)WpD$#+3w(W2ozbWStxJ_%Ona$VXAy9+O$J zlz-~&LmRf258`jt!H!3p_?W3rfgQie zM&Gxx8c4ZT$zt7pU&m z6kme`tdAr+0EO0?p8Akz|5oAzP%JrtRN&=`@>TKCBjN-o#)imtcKsvp0e>C!p4naG zdOa*%uY2k}v-_wTz)!rv0EQV8SFBW?0F(DpkEiF-iq*J;j)fg5%yXVt=&`9Hp_F4~}YB zVXx+3z)=p);3#+FpTW&i0Z};|fv5tVULirJJZ%b{(_Wkawq=lgYN0c*9|b!74DCm; z-~J6%iYIvway^uek$+y8iquC`K>B|MO$nvaoHU)<_MwzP(?x`La%Y5j4|y{_^{o0x z9MhU@k(VMxMt-SmtGv|N$gd;&Re9OKlTjZ4Y?@oUyMKOnH-ObD*#kxKV_z*m?#067 z>j09G!jun?y^4L1S934`DF-KjEJMvY4`nN&TuaatSH(32)_-KnJ<;J5lY6pJQ-GWC zT)r9LWS;=wrln-0lNny1Lu}jNDB#T_CC47ms}p@k(qr(v?IPWQ1FpOKMTdV*?$=-m zLWDSMSKSZc^G)V{sV@SipfuIHz(5Sg*hs8xXIMI+wx>n`J%kn|C)^1>xiY@~z#7Yv)+Kj^5{3{f;%@Sck}@ z%sS#&M;$BUSjQYa>zHR8eb7DQbNI)B(N4(qcv74?jbjMQk~#eLkUUA(6VMdP?sv#` zQYD~Sq<or@nH0^^|t~RiV;Hm0%BOQ3btVr7-D)_EziG~ zF@M+0lqdv_Ym$3KICw~+>6I0IYyFV4P!)Y^g9fx{>x-K%;Mob*x7POz7V{Kg5F|Aj z2fJ(8-Fi>58&(3a#S~Tx);R|jb11eL#Y>5^n|#W#$O+c%M7YWxi?&VJT*I>rzpalT z)t6hT;ccbe_}dGc5AeUp-4nQ%Nh438Uw=YiGEp1U$+BR|2`{ssfTvgxSraPLgtYdM zt`M~8k;mCI8U!9^uIF*~V-eRNXkoWA3vOp{LaKH{=Hb^6}cBd`q~4e-ofn!c98h`Mx`Jxy<9?Z$|Z!fLAMsp%FXQr zlM4Qj^^YGAbW#`gf`$ank*8?}$uK;sNdv^&Yh(-`re|}K?2~#9=yLHtC_k3(MYSCU zd8$RFdtLi;Gcq7c{t{3f+|7vWgMSS&0ycn`?m#shjD#+L0>fatX>U9`EC^J7iUk$o*$~f7*fzPKJ@h{^c>U4 zGupw>b8>Lv1H9m!Ch}Qrm?h*IGZ4?&*jO(b&}XzQ7E2ol1H8Jiv6+FqPk$j_4KLAhqe=6dV zxOA3J{UN9Y={gq1PfVqLk7x)|f=QW4N9wn!fKuK__OzQK{eUq*<{OSs)1Ue#Q52|` z+$sm^Vcl422^C53t66F&TL%eT6?nM1zaoQGMaEbEA8&y+ui+@-Cc^) z2*YuYafy?W7mT~QPNMjD9aC~T3dDOeB}eOk7_M8J$aaX_W?M2Wc;LyKQcSoSv^p4) zq5eh;=;D24gRgH>v%xoLKoDJD+!VTj>li7^xF2<&sut2eTLVB7(tp5nK!VtURl6xr z#N-~uu5LR!J41ks$3vf%KY122{J-QeRR<(BG0@CC?fkwEwl&JRzCs?+KB7|{-DJhV zm^ty-n0>i9O7Ct(-@?^2@ruckETg&Rv!>G`d4JB>byHRw&1g>>jo0hewUiBpMjC3Y-=OYbOmh9T>M3W{km{fnma8L`s!d(}=U$MmKAZ1^9#CfK0WMDxXr(w2nn zD2V2}zwHR?_19GqDf^~ESQUe?$~|@WImKavUg>F?!ZRQ$i+{KAw5L9ga&o8#InE?Y zR{u7|p$;6K$+Nj7baVzuCBwJr?Afftv-xlB?&=VH;(wg6#7kOnkTN_f_^cs#_TDQH zB%%flzzJgmkp!3DE(G~A(~4b#TD|mHQ`$^nD|ZMH!`cJ*LCWNDK1r;g1f@$r@SJ3v z&IGnvO`xV+H-CdRQf|uKp{=H;4{_5|Z2j16lZunV2T>$x(=jaO{FrQpl2cE)ZJubx zBy2))G68!D1USOczQ0J)Fv8_XIFQUxWK1%*VDBdIb?l%;m?R1Z;L}vXcke*Yf2j@* zu8>vf^_6u5MGXwTyOlK^sXv%N&+07z3No&Zhh^X~3x6HAC^{?aZ2t-=0W^m6uoi2; z<)n#1e+UNZa0DhwZ0AT7O|)9j3`X>ssZ?zrA37!^bOg4sfCmuB5C(vgg6cbJH`anl zh|RMpvClC=3T#>Y|e z=+ms00)NJI2VKx0Ms}AJ+9Y&mx_N-y{Qq|#B?^o$ky6jgdjHv+ruV+~CQuB#Qfgtd zKMI?B+i3hj9c)6FdShLpexG3JRdAGAeK0smxdQ;xfG0Gu|FC*x{|Jwmp#*&e_;Igh z7WsDxmS=!a1#cwNE5Js8(;;i{v#hgmpboO2yo-f%D1KNqK=q+ z@JM7hktTH_DZxEU3ODs7V$+^3S;JPfWzq7~izAwbEji^~3)+)$-wyA(LD&#$;J<+0 z`+r*;67{d|?&1PTbA4lsIN74T^e>-hM^LyKsY&)b{#1JucNQlQ>p_Iio&*NCGy$3Pq%l1{hY*dktNim@`TCCu-|X^`v5;toubzy1O%W)Ce;(2{JHci!MFc)&jfvRyQV` zct=~8<3gL&=jex=1Wur>I_c=Aoy1wk9dXPtM;~{`bnG6$@yN)d88YspmK*?mj#cYL zesqtC<0o)rah$?&2FDM_>Z0`(|yNy@NTEaGK?5RTs>Ox7yd^Aw@6c9Kydgd5DhDOdu+Cb(8l zHAT4+5H6wp34$cSm^Hog&{&{|0Qg%n7b$Y21M~h4Tt3}gu=o$sI6;Kjxqo0UnkDDD z4gA(cKDp?~4!Y>*B4l#4=SeC42tge=Z8yo{z?&n()VTCfpUfW{{w5}ed!)gY?Q235nTvK2`_Vlkq`0j~3$MPmzH3!SCTarz-O z6*0F`P1RbrL$hEpFrn{1$Oqf(gepRptY`!Ix!y>AzHe6a=P?Hn(UIp?0%NkOd-^Vnu}|G4m-6%} zY?EzI(^yt)Qsx=!JY%==fQ)1HDFw}tB-|km>j?l*Vq_tumb%#)dw=Euua`nHOicO& zTOCYH9wbamGEDgJAid|TB4;7GY;SRb+FIH9Bmqc6Q^Uy+LMEG2V_sC@5JDy!LkLJP zW(`Qy(g04BR4<`d38#5!YO`;c&Q}yT@!gAevPNqT@Boh^CwYe812ZozyxLRXL!N~B zha$v2C?g+2dS4bNMt>&s+WbN_?rp}N`GxA;ju=QL_5_lNg9MTZi8vzZ()Iw3i9La1 zA_NYOFa1-ZkBP>>0rUZjkOpA!r$8T2to)KkrH4`e;2;Ui0WYK0*JMhBgbYiZnjpFx zk-3akWSxBpZBRTAlRh*Ze;i?XHdd@0j&uz`(+h-cHA4M173^Vz`k~|!eSqsqRj439TnA&6`WWiH#ogWV?(U!6 z-Tl{hcX3_a2fMhJQEI(x_6u7@@Lt9BrQ%n7@a|CL9%}W$$UT%h1Vk2Pl~LFnr3nG1 ze*heI$~2UYwIGS)L=?L)!QSTW;J1mds833i-e2rO5@fuh?3^s?X9|m` ze?(4;naRLClU?7k2D|V+efGP5l}P*K&eOm8?01QVZysECPgPx$pgg&nh&4GMH1-V2 zldB2Jlhghc1m(%q1m(#Afc6T?Q}=+iS+BTPP@Y^(P@bFzA1_W~z(IMY=JwjD4=N}R z>|Uw~3d+N<5%O7k2jzLYZp#aofGZ+{IX^5>37Zf)kmgUd z6;W)^92s~~zFL#9H5-3%*7=wcmEj!W4Ik4vf+%K@dHUnWI8Rdf$61}uTX5c&HNH!2 zT5;Zc@;}i({w^+%2$?#6=Q}t@GFm$Sn9kej{9|0;JnfxRImK7BcOJ7QXdiJ;_S$W} zUk6)q?}tH!7ugu0EVO=QyHV=JSG0rKaFlxxge`)vpO;)*=r#sMXII4Kwv$md6@S5A zsDT7;`phgrEaYT0tUpqcv(rS(LAr8qbren)T4)H$dZl>*42H34Wpp`1GrYWJJul9TKC(tmGmI+}@R1!1jrx86;!>6#ZL$zcM(dAy0X` z?^gy>a{wYD@0JjpuI&ZxW&bI}?7zIbi;Q32+1h*1^|)nnl0 zq}VA!Al)h=918PZUs^A0J$Mbt`U1&%TEYM~VcerMx&2uqM!pMcvctOs#D9_uP0{E< z2q0P7;Dyqo*Qt5dnzw6)Ct>fIi&sEsmHB>*EyG9hvE_^x4-v4c0a3ET8u@zklq8-= zHd?2xZbZiukVYc(5F}Dw*?RL%!h;mf4EFypuiN?crys*Nhg8*3POv6snF9i;ahk6r z7E;uf$}VS;^>kwk0z2v=&CWvZcg0sksLM(g;sGgHLTOVYiyHW`G0?*U_Mx4?(_; zyQQ0VToY0X@Pv?9NLT_;aR#U`3WYSS61JUs1k?9+02oXmJnYA2?ti55ezBXkXr}LlQENZ-Ui1VlbH)Tuxp#0Ec77bcu@ISLFk;?TQTbu z;Kv@ScuY0AS~CFYnt%Qu?(Y8M-Q9lywIUKl#SA^09TIw$wB=;VZ^P&ee&5j*QKxCF zHLdpr@_&rw5M2>BO4ks8$zKR*MIi6h9E=^a99$s|?Px?Og;-Y==BN-`s8U- zSdBQ(%03~WN{PJOmZjVRDaxdEj&JW5+b6!m2d=?)APlDzW`EIV49V0O^9}C{PrAxd z_CRj2k6?{^S_BRNM@Ogm>P7{Lvy1Ce`~^VLjw(9Su=ZfWR|Mnxcy4xz#onCMF4sx3 zs5Z&wCMSJAJ>kWwXs$Q*;?qlv=`0p2_mKaVf?Xh4!fi#^7u<WmF;HH7xRYos)9T@}2VC7nVy!kM?1}J()zowVO>Ja`O z#&JYXB-vRoPI^=1;o}(dq*(<83XtO%^9iOzDfJyvfPc`BA7dT~pJU%5A3}C4`h+c; zft`=R28n+W^8)7_qK{(*k!=!u3*jjUCne8gkNx#v;U@j{rhrx{@FOLV9a^%H(xqg` zXzOa!^Q^|9(w;tBv!S}bNE^2;hDqF7Y!>;m65RGZ41d#a-4oh2}@evj)hcM7RhCIwT`KK zZ3U@M*KgMd$=ei$y{5&%gcXn81gl1W|9!=fBU()h_-us;SzcE)m9)O1Ma`G8nrA86 zw|1{UWGxaXN{hV~NfT4X5QKJQvV}r1<7nNVK!1?}y#1Nz9wEw~q)q}XKosM&+LHP* zU9@p*@Kowmx=3dYH2NI&5E)0ob1~64PC{!|_x({ot3*wP^#Q;>nGD0831|BVi@K)} z@|WspY{W?VA}dY+jtx{GBNCy1~&eR3Rx{VUazsJ6JerFx30Ewy?8B!9kj zb$7S0yZf8FyT7-)`$tT+R|oNNII+oaTXpCaqTyq@{>nq~P2hs-zbF1{V0;T4G1w8J z=#d%H!VX|UB%@h0DXLY)IFNiG@}RKntqU!smT~$aB%cJzkRp%o)gg2kcv5(7xfFf+ zzDJ>hq74p4=^42P)}xHay?6A*UMN~NwVe>&!Lyav2N9?Sr; zv36M{8W|>7zEhKcJu4L|`v@zhs|67lfXR`SmTs0j{w#R0Jc7t zD8Ao~bstbW6q{FBaWFQoJT?H+SYBB&2`&>QN*6l1U0GQz$FHui#U;dsatBdZChkap zq>7H{4VZ4{+Gc^Qkc}(3j}JG~vy&`7BmowaQ9c-d%Yy!trNapVgn#A%LR(GC z6KDzBY}v9+ZCUSwT>~-Jo`z$81iXp=m6$qLH#oGQ4>RpbI9b2yV8Y3IqXTY4K|%&} zTZ#t6t0(YKx0v0O)97aVvE?LPg0lxSBfk=)lzZ? z8NMifYiHMgKLsgSFRrB^t;!y@caFt+%RpWd(H%_nIa8|-M$M$$VIN4M78S@RCn!*? z9h4zMR3Te7g9gfDCu!6+ZXlhRl@mY-!a6Mkj>P) zW(VPaqRp+9yM;>eoV*chp`)+LXoZ?K!zcRmj4_d$h!HZO_C6MwAfnX* zpkJs&t8hu82#kU>G2MQcB98T95aCKJ5>m{k;dX(e3rDYv>TKxJTaleDXfrp3MR{RK ztr5xy)2?a#p=w7FHLhwS_T=(GhY-4@ zM8)p5nY4!W1-WHIT<&Wok?;?(Q&H}5WiG;!6HH@j0Ndo$Qp=nn@iB$FLTVaBd}GL# zsc9mR4SRfc(}uTg;G&K6sU)&yBOQv-p&JnIe-Kq3NXT6c5^|)k0eVrA*g))(wIH1k zkCCp19CCbjX z#YI8o0pTKle41-aAjC%=O3I16xC}e7e{1aDQxw;nk{TKy5CDI`xJeNMt60h(onXV0 z0ISF`^cKg#wQVeW}31 zLNx^I>i`tWE({x;w_*k#Dd17TkW`-vzmSSX5i}+$>JdkuG z>8TH6(1%Kn`MZ~NSky^}52FjmG#>yrBfh=6OOXsHwX-kX&Ag)jhWI`4-$1bYk@%m* zKLXNwael8;_%sTeV<7Kut&{)p9x3ijnDa76?!08&5h+p-0qNO*%n+uco4I0qm zt1oW43TLOg8~5~<^+=DlQ&jx*peVUFz`5k+|?X#;wY$#^KO~lpVc0gc49fC2%H&#% z<10nUnb)`17K>X~5LL$8;Pn6g@6*4|ODb8Tv^p5FCcFV4OCZolf2^``v$6#>ese{M zLhppb(85w^9i@UHGkEK!3u#8Bb;4nSU5%pO#2he~o^>g*8GAx1PXn@F2^HAK=*9&A zuufv?BF@ibas?idB5{p@DAtfmBMyj&sxE4C1MNxgtk%K9joa&pwuz*`Zv?Tix)pJ- zT758bO63j&3LmIRf7m_Zhl8h!tBQP+9g5>LAXu(|LWP^7#V7wQg-}Zx)w*YP&~?rPsLOXC4cgjhY+Yi{Vkipu1cw zWeV%dnd!FRjIXD}q)}eE&tYuM(#G~yl4Esc%J)_fY)rvO4evm}J69pnfysf!Z3v7T z)-(m^Sr4H50`?q}T1FuxCkoWrI5aY6i57<(LDJ%i=W8{U`gy7gb3ej{m`sHv$*rZv zlb=QwVBHT}3lKc1#q@!H1CAOv@ITyG|058@6eU6?)7VG6!M(hUezy+78w928QgEtT zeK0sxxdULBV|lHJ_dUvWX@kPcHQ#2t2xy`sWv4wQj)IDn7B#3?t*IHSDdf&fvXd1@ zKul*pq)*8|t_)FW;#pSz&d`!o{*>(HgOjZIo{wMA06A|Fb`JRZ8R?@_gE(({men{1 zO#7mV$hb?U%=dzHrx*hn!Hq?@O%2AZYA=(aM;L!MBF9IX0;)ThfUEwk0i%+i@~qwB zm8}Pv#f{|$nOqwXAF`%ZRyNi>(MJz}cj-=XIa5=Uka(B6dM+p}eoOAz;t5PLi>n(; zA1F~D{ih)4Rd%1Cm_XORXb!hIDLYQ8y+Y8H^n*-1qy|R;_fsFM4pS8s*7i_LO(G#) zoX{8)0+3c8+lHYNn+8f`@dHIgA*3rqS#$=IP)Hts=w+k5@2GCHU%6o#ZN(K@m=SoU zL~M$%!Q3<2%4>D-{1$~=+j?WOxK*fZ1T<}z!Zg&hI2dc-=uL={;Ao1ZYm*d(Uc8_P zKcdYE6cy{>no0t#Xi;;pRIP)feQSX;h=2k3+*gd@eNg}uc3`cRw;_Hy-XQD%XNAt1 z6m}qg`#LG05Od&rWHb3}(fnT8(KP6&QXq1(j{IXhB9#@<5%EP!dJVHeA_7wFwIH?E zeqL{n$g96jcGatZR80%9crZW}y$yg$f|4i8WgI$}ugf+gIM800b4Gli0A6&+8o;Zm z3~*ZTE%pI;>H1zF$VqipygTlzvm{3a*LKc-EF*PUiX_NI^jO-&g{E_68NKZhaEg=z z>7M+jN9<3frCSz)-5F3iVcT91JFIcyc*B%KW&x$F$RbBPCve1zNk=@&?xd597`iKC zjof$1`+~DUQC1l0I3KEn%jIFQ6UpWj$2_%a?%Rj7uQgpv+MkrCX3$WI7O$+X~l zc3fF8L5ne}3YDuRldcu5Mc5EXQBhZf0uq?Y{D}o_=P7Hpbf`_baUG~t5fBoWu}cEtN5~9K>kKYi z$TvQ&!N$N8scPGk>xTAFN3?~VWyDo5=5@Fw69!ZrageYKCG3bpI(w^Hud}y*JUL=y zoAu3gq_GCaRu2UFosu)~n@AfLugPcbj_lusId~ZXy$pcU-_Pmq=gn7dzVW)$)cWmU zU-W)?V_mXhHH9$KCPxd;nSBYCwB@2?%DsU@=Em=-zMT3knju9aHTFd>QWg0UkdO$)|TK54qm+BK05Lc!4a zI;;irLJF1Vi-Nipn^?cTF_$0(4&H%TA^{RRx6Y2N*u%^b%7YR}5^)E6Lv zAsQ{oj$EH2QihkjkUV`k+$Ke#Mq=iy%v?x`otcYB0Y@USI6#tv=SgNF{`8~D^QSvq z@ZI7prZTl@y=bv6(&Ao!gxdc_$P^G?!6y%l52apeWBqP%OLZGIY|ss<28q_Ls70Kw>WlU{BR82h=}q+6*(jo6Z;#06KD@Q3 zn;g_^F#V_CF2Ft{JNxb864+iQy2FRa=4Pjx!G7Y_ zt@)c1w{DHzEiRdx+vPjrzWM&f$~ps*To^HsW^b*m6}MDR6UxZDd46@JT)Eg1cQY>k zJ5T;7nU&=W$8*Oo=FX4NB~{nf=8s>@?_E1_{NhAS?fEf(zLUhy?DZ0O+b`-X%VH_c zbT2EWP14>6l%=o3*WdU#V`K4sLCL7!7aQWPb)SaRSC^n>Syu48_xWn@ykAOq-aCKc zQp`_J7`d4lBae{f6S-;H6O4(exn|4qurfZNh$iq{_-1EbSUVOrH1jjld5{v5IGLDC zfu2AFr&zat)!PH@Wxwd}>+bLE>ps?f#k$se&5C20Lb>k5kd`wz#VWRj2^o;83oD)t zc!V@EghywmV|KYch>PBHI0>v_4h-nz#hEzbxJR92#?g->ldpRc-A}ci(H(2Z(a$Trp!UDl8O$8i6V|L$F6g%wAW_gjS67Pv&QzA1ouq_bMuM-}_ z2aElGGosYne9HhwgDp@7$%cJ_!&+0M_${3BH2?0^&ir%EW1zx8sjj= za7s>zhdx3>^X)Szjv?!C42dCvSM>M zT|J%EH-|gEWIS}?KRbkh_`S06>v8|(hEWJkmQedmaanuVg0#sa7|-X*)YyW1qlxr@gwmz}%o zY*FLf#a0T6!`=2x_}L1rW~A(_Oc;NKy5@}63$J@*jm%Zj&jhfi01v+gZM;f8D|Jk! z_|$@?tkw(+X^Blp(ax#%JXTvkyX~xE5tkco+Cmbb{BjiMW^!sShMiV_x02mG@E<{h z8xkWSVhzmlVbq3A6Jcz6S&Sq@g{85J(WJ|`HHH_rW&nQ=LH)=kuTtZqgYzf2#@+`l zq)k#Jp_B0%#E7B&n1Gv!^;@dComhJ2

Q;rT9Q<;<()^ElkKG1(}V=;uWFm;6Pg; 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 EHn?jMtN;K2 delta 31189 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