From fb4807e1a2244103ca85dbf4d47b657629c939f0 Mon Sep 17 00:00:00 2001 From: Dan <46821332+nsadeveloper789@users.noreply.github.com> Date: Tue, 28 May 2024 13:28:47 -0400 Subject: [PATCH] GP-4609: Add FileChoosers to launcher dialog. --- .../data/debugger-launchers/local-dbgeng.bat | 6 +- .../data/debugger-launchers/local-ttd.bat | 6 +- .../data/debugger-launchers/local-gdb.sh | 4 +- .../data/debugger-launchers/qemu-gdb.sh | 6 +- .../data/debugger-launchers/raw-gdb.sh | 2 +- .../data/debugger-launchers/remote-gdb.sh | 2 +- .../data/debugger-launchers/ssh-gdb.sh | 2 +- .../data/debugger-launchers/ssh-gdbserver.sh | 2 +- .../data/debugger-launchers/wine-gdb.sh | 6 +- .../data/debugger-launchers/local-lldb.sh | 4 +- .../data/debugger-launchers/remote-lldb.sh | 2 +- .../data/debugger-launchers/raw-python3.sh | 2 +- .../images/GdbLauncher.png | Bin 14541 -> 14838 bytes .../launcher/AbstractTraceRmiLaunchOffer.java | 65 ++++- .../launcher/ScriptAttributesParser.java | 61 ++++- .../TraceRmiLauncherServicePlugin.java | 14 +- .../DebuggerMethodInvocationDialog.java | 246 +++++++++++++++++- .../framework/plugintool/AutoConfigState.java | 81 ++++++ ...ceRmiLauncherServicePluginScreenShots.java | 5 +- .../TraceRmiLauncherServicePluginTest.java | 6 +- .../images/GettingStarted_LaunchGDBDialog.png | Bin 17713 -> 14767 bytes .../RemoteTargets_GdbPlusGdbserverViaSsh.png | Bin 35960 -> 23692 bytes .../images/RemoteTargets_GdbViaSsh.png | Bin 34357 -> 19608 bytes 23 files changed, 474 insertions(+), 48 deletions(-) diff --git a/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng.bat b/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng.bat index 171590c9613..328e45d93f6 100644 --- a/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng.bat +++ b/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-dbgeng.bat @@ -9,12 +9,12 @@ ::@menu-group local ::@icon icon.debugger ::@help TraceRmiLauncherServicePlugin#dbgeng -::@env OPT_PYTHON_EXE:str="python" "Python command" "The path to the Python 3 interpreter. Omit the full path to resolve using the system PATH." +::@env OPT_PYTHON_EXE:file="python" "Python command" "The path to the Python 3 interpreter. Omit the full path to resolve using the system PATH." :: Use env instead of args, because "all args except first" is terrible to implement in batch -::@env OPT_TARGET_IMG:str="" "Image" "The target binary executable image" +::@env OPT_TARGET_IMG:file="" "Image" "The target binary executable image" ::@env OPT_TARGET_ARGS:str="" "Arguments" "Command-line arguments to pass to the target" ::@env OPT_USE_DBGMODEL:bool=true "Use dbgmodel" "Load and use dbgmodel.dll if it is available." -::@env WINDBG_DIR:str="" "Path to dbgeng.dll directory" "Path containing dbgeng and associated DLLS (if not Windows Kits)." +::@env WINDBG_DIR:dir="" "Path to dbgeng.dll directory" "Path containing dbgeng and associated DLLS (if not Windows Kits)." @echo off diff --git a/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-ttd.bat b/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-ttd.bat index 693f7c67c88..70a316ad7bc 100644 --- a/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-ttd.bat +++ b/Ghidra/Debug/Debugger-agent-dbgeng/data/debugger-launchers/local-ttd.bat @@ -9,12 +9,12 @@ ::@menu-group local ::@icon icon.debugger ::@help TraceRmiLauncherServicePlugin#dbgeng_ttd -::@env OPT_PYTHON_EXE:str="python" "Python command" "The path to the Python 3 interpreter. Omit the full path to resolve using the system PATH." +::@env OPT_PYTHON_EXE:file="python" "Python command" "The path to the Python 3 interpreter. Omit the full path to resolve using the system PATH." :: Use env instead of args, because "all args except first" is terrible to implement in batch -::@env OPT_TARGET_IMG:str="" "Trace (.run)" "A trace associated with the target binary executable" +::@env OPT_TARGET_IMG:file="" "Trace (.run)" "A trace associated with the target binary executable" ::@env OPT_TARGET_ARGS:str="" "Arguments" "Command-line arguments to pass to the target" ::@env OPT_USE_DBGMODEL:bool=true "Use dbgmodel" "Load and use dbgmodel.dll if it is available." -::@env OPT_DBGMODEL_PATH:str="" "Path to dbgeng.dll & \\ttd" "Path containing dbgeng and associated DLLS (if not Windows Kits)." +::@env OPT_DBGMODEL_PATH:dir="" "Path to dbgeng.dll & \\ttd" "Path containing dbgeng and associated DLLS (if not Windows Kits)." @echo off diff --git a/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/local-gdb.sh b/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/local-gdb.sh index 9f9f91374a3..bb245940bd9 100755 --- a/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/local-gdb.sh +++ b/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/local-gdb.sh @@ -26,9 +26,9 @@ #@icon icon.debugger #@help TraceRmiLauncherServicePlugin#gdb #@enum StartCmd:str run start starti -#@arg :str "Image" "The target binary executable image" +#@arg :file "Image" "The target binary executable image" #@args "Arguments" "Command-line arguments to pass to the target" -#@env OPT_GDB_PATH:str="gdb" "gdb command" "The path to gdb. Omit the full path to resolve using the system PATH." +#@env OPT_GDB_PATH:file="gdb" "gdb command" "The path to gdb. Omit the full path to resolve using the system PATH." #@env OPT_START_CMD:StartCmd="starti" "Run command" "The gdb command to actually run the target." #@env OPT_EXTRA_TTY:bool=false "Inferior TTY" "Provide a separate terminal emulator for the target." #@tty TTY_TARGET if env:OPT_EXTRA_TTY diff --git a/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/qemu-gdb.sh b/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/qemu-gdb.sh index 924a151d0e6..f60c051f8bc 100755 --- a/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/qemu-gdb.sh +++ b/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/qemu-gdb.sh @@ -26,12 +26,12 @@ #@menu-group cross #@icon icon.debugger #@help TraceRmiLauncherServicePlugin#gdb_qemu -#@arg :str "Image" "The target binary executable image" +#@arg :file "Image" "The target binary executable image" #@args "Arguments" "Command-line arguments to pass to the target" -#@env GHIDRA_LANG_EXTTOOL_qemu:str="" "QEMU command" "The path to qemu for the target architecture." +#@env GHIDRA_LANG_EXTTOOL_qemu:file="" "QEMU command" "The path to qemu for the target architecture." #@env QEMU_GDB:int=12345 "QEMU Port" "Port for gdb connection to qemu" #@env OPT_EXTRA_QEMU_ARGS:str="" "Extra qemu arguments" "Extra arguments to pass to qemu. Use with care." -#@env OPT_GDB_PATH:str="gdb-multiarch" "gdb command" "The path to gdb. Omit the full path to resolve using the system PATH." +#@env OPT_GDB_PATH:file="gdb-multiarch" "gdb command" "The path to gdb. Omit the full path to resolve using the system PATH." #@env OPT_EXTRA_TTY:bool=false "QEMU TTY" "Provide a separate terminal emulator for the target." #@tty TTY_TARGET if env:OPT_EXTRA_TTY diff --git a/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/raw-gdb.sh b/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/raw-gdb.sh index 5b572354e57..0ed99c10119 100755 --- a/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/raw-gdb.sh +++ b/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/raw-gdb.sh @@ -27,7 +27,7 @@ #@menu-group raw #@icon icon.debugger #@help TraceRmiLauncherServicePlugin#gdb_raw -#@env OPT_GDB_PATH:str="gdb" "gdb command" "The path to gdb. Omit the full path to resolve using the system PATH." +#@env OPT_GDB_PATH:file="gdb" "gdb command" "The path to gdb. Omit the full path to resolve using the system PATH." #@env OPT_ARCH:str="i386:x86-64" "Architecture" "Target architecture" if [ -d ${GHIDRA_HOME}/ghidra/.git ] diff --git a/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/remote-gdb.sh b/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/remote-gdb.sh index 29d80336abe..4ef8f370a90 100755 --- a/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/remote-gdb.sh +++ b/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/remote-gdb.sh @@ -31,7 +31,7 @@ #@env OPT_HOST:str="localhost" "Host" "The hostname of the target" #@env OPT_PORT:str="9999" "Port" "The host's listening port" #@env OPT_ARCH:str="" "Architecture (optional)" "Target architecture override" -#@env OPT_GDB_PATH:str="gdb" "gdb command" "The path to gdb on the local system. Omit the full path to resolve using the system PATH." +#@env OPT_GDB_PATH:file="gdb" "gdb command" "The path to gdb on the local system. Omit the full path to resolve using the system PATH." if [ -d ${GHIDRA_HOME}/ghidra/.git ] then diff --git a/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/ssh-gdb.sh b/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/ssh-gdb.sh index 9c455de2277..99a71b6dd6b 100755 --- a/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/ssh-gdb.sh +++ b/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/ssh-gdb.sh @@ -33,7 +33,7 @@ #@env OPT_REMOTE_PORT:int=12345 "Remote Trace RMI Port" "A free port on the remote end to receive and forward the Trace RMI connection." #@env OPT_EXTRA_SSH_ARGS:str="" "Extra ssh arguments" "Extra arguments to pass to ssh. Use with care." #@env OPT_GDB_PATH:str="gdb" "gdb command" "The path to gdb on the remote system. Omit the full path to resolve using the system PATH." -#@env OPT_START_CMD:StartCmd="start" "Run command" "The gdb command to actually run the target." +#@env OPT_START_CMD:StartCmd="starti" "Run command" "The gdb command to actually run the target." target_image="$1" shift diff --git a/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/ssh-gdbserver.sh b/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/ssh-gdbserver.sh index cf47498d806..c6bd71b6dfb 100755 --- a/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/ssh-gdbserver.sh +++ b/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/ssh-gdbserver.sh @@ -32,7 +32,7 @@ #@env OPT_EXTRA_SSH_ARGS:str="" "Extra ssh arguments" "Extra arguments to pass to ssh. Use with care." #@env OPT_GDBSERVER_PATH:str="gdbserver" "gdbserver command (remote)" "The path to gdbserver on the remote system. Omit the full path to resolve using the system PATH." #@env OPT_EXTRA_GDBSERVER_ARGS:str="" "Extra gdbserver arguments" "Extra arguments to pass to gdbserver. Use with care." -#@env OPT_GDB_PATH:str="gdb" "gdb command" "The path to gdb on the local system. Omit the full path to resolve using the system PATH." +#@env OPT_GDB_PATH:file="gdb" "gdb command" "The path to gdb on the local system. Omit the full path to resolve using the system PATH." if [ -d ${GHIDRA_HOME}/ghidra/.git ] then diff --git a/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/wine-gdb.sh b/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/wine-gdb.sh index 5a37621166e..b8187b81f45 100755 --- a/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/wine-gdb.sh +++ b/Ghidra/Debug/Debugger-agent-gdb/data/debugger-launchers/wine-gdb.sh @@ -25,10 +25,10 @@ #@menu-group cross #@icon icon.debugger #@help TraceRmiLauncherServicePlugin#gdb_wine -#@arg :str "Image" "The target binary executable image" +#@arg :file "Image" "The target binary executable image" #@args "Arguments" "Command-line arguments to pass to the target" -#@env OPT_WINE_PATH:str="/usr/lib/wine/wine64" "Path to wine binary" "The path to the wine executable for your target architecture." -#@env OPT_GDB_PATH:str="gdb" "gdb command" "The path to gdb. Omit the full path to resolve using the system PATH." +#@env OPT_WINE_PATH:file="/usr/lib/wine/wine64" "Path to wine binary" "The path to the wine executable for your target architecture." +#@env OPT_GDB_PATH:file="gdb" "gdb command" "The path to gdb. Omit the full path to resolve using the system PATH." #@env OPT_EXTRA_TTY:bool=false "Inferior TTY" "Provide a separate terminal emulator for the target." #@tty TTY_TARGET if env:OPT_EXTRA_TTY diff --git a/Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/local-lldb.sh b/Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/local-lldb.sh index d94d836d103..9177b54717f 100755 --- a/Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/local-lldb.sh +++ b/Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/local-lldb.sh @@ -26,9 +26,9 @@ #@icon icon.debugger #@help TraceRmiLauncherServicePlugin#lldb #@enum StartCmd:str "process launch" "process launch --stop-at-entry" -#@arg :str "Image" "The target binary executable image" +#@arg :file "Image" "The target binary executable image" #@args "Arguments" "Command-line arguments to pass to the target" -#@env OPT_LLDB_PATH:str="lldb" "lldb command" "The path to lldb. Omit the full path to resolve using the system PATH." +#@env OPT_LLDB_PATH:file="lldb" "lldb command" "The path to lldb. Omit the full path to resolve using the system PATH." #@env OPT_START_CMD:StartCmd="process launch" "Run command" "The lldb command to actually run the target." #@env OPT_EXTRA_TTY:bool=false "Target TTY" "Provide a separate terminal emulator for the target." #@tty TTY_TARGET if env:OPT_EXTRA_TTY diff --git a/Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/remote-lldb.sh b/Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/remote-lldb.sh index c7ac062620f..d77a6d981a4 100755 --- a/Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/remote-lldb.sh +++ b/Ghidra/Debug/Debugger-agent-lldb/data/debugger-launchers/remote-lldb.sh @@ -29,7 +29,7 @@ #@env OPT_HOST:str="localhost" "Host" "The hostname of the target" #@env OPT_PORT:str="9999" "Port" "The host's listening port" #@env OPT_ARCH:str="" "Architecture" "Target architecture override" -#@env OPT_LLDB_PATH:str="lldb" "lldb command" "The path to lldb on the local system. Omit the full path to resolve using the system PATH." +#@env OPT_LLDB_PATH:file="lldb" "lldb command" "The path to lldb on the local system. Omit the full path to resolve using the system PATH." if [ -d ${GHIDRA_HOME}/ghidra/.git ] then diff --git a/Ghidra/Debug/Debugger-rmi-trace/data/debugger-launchers/raw-python3.sh b/Ghidra/Debug/Debugger-rmi-trace/data/debugger-launchers/raw-python3.sh index bdc3eb8ac10..3827f22cd2f 100755 --- a/Ghidra/Debug/Debugger-rmi-trace/data/debugger-launchers/raw-python3.sh +++ b/Ghidra/Debug/Debugger-rmi-trace/data/debugger-launchers/raw-python3.sh @@ -27,7 +27,7 @@ #@menu-group raw #@icon icon.debugger #@help TraceRmiLauncherServicePlugin#python_raw -#@env OPT_PYTHON_EXE:str="python" "python command" "The path to the Python 3 interpreter. Omit the full path to resolve using the system PATH." +#@env OPT_PYTHON_EXE:file="python" "python command" "The path to the Python 3 interpreter. Omit the full path to resolve using the system PATH." #@env OPT_LANG:str="DATA:LE:64:default" "Ghidra Language" "The Ghidra LanguageID for the trace" #@env OPT_COMP:str="pointer64" "Ghidra Compiler" "The Ghidra CompilerSpecID for the trace" diff --git a/Ghidra/Debug/Debugger-rmi-trace/src/main/help/help/topics/TraceRmiLauncherServicePlugin/images/GdbLauncher.png b/Ghidra/Debug/Debugger-rmi-trace/src/main/help/help/topics/TraceRmiLauncherServicePlugin/images/GdbLauncher.png index 408cd4a2dd21fd5e0c61eec50c80d551dd5f1006..e463e809aa4d745ea97a31da0999b2012db82bbd 100644 GIT binary patch literal 14838 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 literal 14541 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 X4zQZ_whF-D6GTc({$=rt*YE!yCpsVD diff --git a/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/AbstractTraceRmiLaunchOffer.java b/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/AbstractTraceRmiLaunchOffer.java index 2478d173e01..1857819ac12 100644 --- a/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/AbstractTraceRmiLaunchOffer.java +++ b/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/AbstractTraceRmiLaunchOffer.java @@ -20,6 +20,7 @@ import java.net.InetSocketAddress; import java.net.SocketAddress; import java.nio.charset.Charset; +import java.nio.file.Paths; import java.util.*; import java.util.Map.Entry; import java.util.concurrent.*; @@ -42,6 +43,7 @@ import ghidra.debug.api.tracermi.*; import ghidra.framework.options.SaveState; import ghidra.framework.plugintool.AutoConfigState.ConfigStateField; +import ghidra.framework.plugintool.AutoConfigState.PathIsFile; import ghidra.framework.plugintool.PluginTool; import ghidra.program.model.address.*; import ghidra.program.model.listing.InstructionIterator; @@ -263,6 +265,54 @@ protected void saveLauncherArgs(Map args, saveState(saveLauncherArgsToState(args, params)); } + interface ImageParamSetter { + @SuppressWarnings("unchecked") + static ImageParamSetter get(ParameterDescription param) { + if (param.type == String.class) { + return new StringImageParamSetter((ParameterDescription) param); + } + if (param.type == PathIsFile.class) { + return new FileImageParamSetter((ParameterDescription) param); + } + Msg.warn(ImageParamSetter.class, + "'Image' parameter has unsupported type: " + param.type); + return null; + } + + void setImage(Map map, Program program); + } + + static class StringImageParamSetter implements ImageParamSetter { + private final ParameterDescription param; + + public StringImageParamSetter(ParameterDescription param) { + this.param = param; + } + + @Override + public void setImage(Map map, Program program) { + // str-type Image is a hint that the launcher is remote + String value = TraceRmiLauncherServicePlugin.getProgramPath(program, false); + param.set(map, value); + } + } + + static class FileImageParamSetter implements ImageParamSetter { + private final ParameterDescription param; + + public FileImageParamSetter(ParameterDescription param) { + this.param = param; + } + + @Override + public void setImage(Map map, Program program) { + // file-type Image is a hint that the launcher is local + String str = TraceRmiLauncherServicePlugin.getProgramPath(program, true); + PathIsFile value = str == null ? null : new PathIsFile(Paths.get(str)); + param.set(map, value); + } + } + /** * Generate the default launcher arguments * @@ -277,15 +327,13 @@ protected void saveLauncherArgs(Map args, protected Map generateDefaultLauncherArgs( Map> params) { Map map = new LinkedHashMap(); - ParameterDescription paramImage = null; + ImageParamSetter imageSetter = null; for (Entry> entry : params.entrySet()) { ParameterDescription param = entry.getValue(); map.put(entry.getKey(), param.defaultValue); if (PARAM_DISPLAY_IMAGE.equals(param.display)) { - if (param.type != String.class) { - Msg.warn(this, "'Image' parameter has unexpected type: " + paramImage.type); - } - paramImage = (ParameterDescription) param; + imageSetter = ImageParamSetter.get(param); + // May still be null if type is not supported } else if (param.name.startsWith(PREFIX_PARAM_EXTTOOL)) { String tool = param.name.substring(PREFIX_PARAM_EXTTOOL.length()); @@ -297,11 +345,8 @@ else if (param.name.startsWith(PREFIX_PARAM_EXTTOOL)) { } } } - if (paramImage != null && program != null) { - File imageFile = TraceRmiLauncherServicePlugin.getProgramPath(program); - if (imageFile != null) { - paramImage.set(map, imageFile.getAbsolutePath()); - } + if (imageSetter != null && program != null) { + imageSetter.setImage(map, program); } return map; } diff --git a/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/ScriptAttributesParser.java b/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/ScriptAttributesParser.java index 6ddc255ac76..2722740ec37 100644 --- a/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/ScriptAttributesParser.java +++ b/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/ScriptAttributesParser.java @@ -18,6 +18,8 @@ import java.io.*; import java.math.BigInteger; import java.net.*; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.*; import java.util.Map.Entry; @@ -28,6 +30,8 @@ import ghidra.dbg.target.TargetMethod.ParameterDescription; import ghidra.dbg.util.ShellUtils; import ghidra.framework.Application; +import ghidra.framework.plugintool.AutoConfigState.PathIsDir; +import ghidra.framework.plugintool.AutoConfigState.PathIsFile; import ghidra.util.HelpLocation; import ghidra.util.Msg; @@ -79,13 +83,11 @@ public String toString() { protected interface OptType { static OptType parse(Location loc, String typeName, Map> userEnums) { - OptType type = switch (typeName) { - case "str" -> BaseType.STRING; - case "int" -> BaseType.INT; - case "bool" -> BaseType.BOOL; - default -> userEnums.get(typeName); - }; + OptType type = BaseType.parseNoErr(typeName); if (type == null) { + type = userEnums.get(typeName); + } + if (type == null) { // still Msg.error(ScriptAttributesParser.class, "%s: Invalid type %s".formatted(loc, typeName)); return null; @@ -106,13 +108,20 @@ ParameterDescription createParameter(String name, T defaultValue, String disp } protected interface BaseType extends OptType { - public static BaseType parse(Location loc, String typeName) { - BaseType type = switch (typeName) { + public static BaseType parseNoErr(String typeName) { + return switch (typeName) { case "str" -> BaseType.STRING; case "int" -> BaseType.INT; case "bool" -> BaseType.BOOL; + case "path" -> BaseType.PATH; + case "dir" -> BaseType.DIR; + case "file" -> BaseType.FILE; default -> null; }; + } + + public static BaseType parse(Location loc, String typeName) { + BaseType type = parseNoErr(typeName); if (type == null) { Msg.error(ScriptAttributesParser.class, "%s: Invalid base type %s".formatted(loc, typeName)); @@ -179,6 +188,42 @@ public Boolean decode(Location loc, String str) { } }; + public static final BaseType PATH = new BaseType<>() { + @Override + public Class cls() { + return Path.class; + } + + @Override + public Path decode(Location loc, String str) { + return Paths.get(str); + } + }; + + public static final BaseType DIR = new BaseType<>() { + @Override + public Class cls() { + return PathIsDir.class; + } + + @Override + public PathIsDir decode(Location loc, String str) { + return new PathIsDir(Paths.get(str)); + } + }; + + public static final BaseType FILE = new BaseType<>() { + @Override + public Class cls() { + return PathIsFile.class; + } + + @Override + public PathIsFile decode(Location loc, String str) { + return new PathIsFile(Paths.get(str)); + } + }; + default UserType withCastChoices(List choices) { return new UserType<>(this, choices.stream().map(cls()::cast).toList()); } diff --git a/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/TraceRmiLauncherServicePlugin.java b/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/TraceRmiLauncherServicePlugin.java index 9a32f67f597..e502f02c9e5 100644 --- a/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/TraceRmiLauncherServicePlugin.java +++ b/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/TraceRmiLauncherServicePlugin.java @@ -150,15 +150,23 @@ public static String extractFirstFsrl(Program program) { return first.getPath(); } - public static File getProgramPath(Program program) { + public static String getProgramPath(Program program, boolean isLocal) { if (program == null) { return null; } File exec = tryProgramPath(program.getExecutablePath()); if (exec != null) { - return exec; + return exec.getAbsolutePath(); } - return tryProgramPath(extractFirstFsrl(program)); + String first = extractFirstFsrl(program); + if (!isLocal) { + return first; + } + exec = tryProgramPath(first); + if (exec != null) { + return exec.getAbsolutePath(); + } + return null; } protected final ToolOptions options; diff --git a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/objects/components/DebuggerMethodInvocationDialog.java b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/objects/components/DebuggerMethodInvocationDialog.java index b91171aabb7..090a717c3f0 100644 --- a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/objects/components/DebuggerMethodInvocationDialog.java +++ b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/objects/components/DebuggerMethodInvocationDialog.java @@ -18,12 +18,17 @@ import java.awt.*; import java.awt.event.ActionEvent; import java.beans.*; +import java.io.File; import java.math.BigInteger; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.*; import java.util.List; import javax.swing.*; import javax.swing.border.EmptyBorder; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; import org.apache.commons.collections4.BidiMap; import org.apache.commons.collections4.bidimap.DualLinkedHashBidiMap; @@ -33,12 +38,16 @@ import org.jdom.Element; import docking.DialogComponentProvider; +import docking.options.editor.FileChooserEditor; +import docking.widgets.button.BrowseButton; +import docking.widgets.filechooser.GhidraFileChooser; +import docking.widgets.filechooser.GhidraFileChooserMode; import ghidra.app.plugin.core.debug.gui.DebuggerResources; import ghidra.app.plugin.core.debug.utils.MiscellaneousUtils; import ghidra.dbg.target.TargetMethod; import ghidra.dbg.target.TargetMethod.ParameterDescription; import ghidra.framework.options.SaveState; -import ghidra.framework.plugintool.AutoConfigState.ConfigStateField; +import ghidra.framework.plugintool.AutoConfigState.*; import ghidra.framework.plugintool.PluginTool; import ghidra.util.Msg; import ghidra.util.layout.PairLayout; @@ -63,8 +72,240 @@ public void setAsText(String text) throws IllegalArgumentException { } } + public static class FileChooserPanel extends JPanel { + private final static int NUMBER_OF_COLUMNS = 20; + + private final JTextField textField = new JTextField(NUMBER_OF_COLUMNS); + private final JButton browseButton = new BrowseButton(); + private final Runnable propertyChange; + + private GhidraFileChooser fileChooser; // lazy + + public FileChooserPanel(Runnable propertyChange) { + this.propertyChange = propertyChange; + + setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); + add(textField); + add(Box.createHorizontalStrut(5)); + add(browseButton); + setBorder(BorderFactory.createEmptyBorder()); + + textField.addActionListener(e -> propertyChange.run()); + textField.getDocument().addDocumentListener(new DocumentListener() { + @Override + public void removeUpdate(DocumentEvent e) { + propertyChange.run(); + } + + @Override + public void insertUpdate(DocumentEvent e) { + propertyChange.run(); + } + + @Override + public void changedUpdate(DocumentEvent e) { + propertyChange.run(); + } + }); + + browseButton.addActionListener(e -> displayFileChooser()); + } + + public void setValue(File file) { + textField.setText(file == null ? "" : file.getAbsolutePath()); + } + + private void displayFileChooser() { + if (fileChooser == null) { + fileChooser = createFileChooser(); + } + + String path = textField.getText().trim(); + if (!path.isEmpty()) { + File f = new File(path); + if (f.isDirectory()) { + fileChooser.setCurrentDirectory(f); + } + else { + File pf = f.getParentFile(); + if (pf != null && pf.isDirectory()) { + fileChooser.setSelectedFile(f); + } + } + } + + File chosen = fileChooser.getSelectedFile(true); + if (chosen != null) { + textField.setText(chosen.getAbsolutePath()); + propertyChange.run(); + } + } + + protected String getTitle() { + return "Choose Path"; + } + + protected GhidraFileChooserMode getSelectionMode() { + return GhidraFileChooserMode.FILES_AND_DIRECTORIES; + } + + private GhidraFileChooser createFileChooser() { + GhidraFileChooser chooser = new GhidraFileChooser(browseButton); + chooser.setTitle(getTitle()); + chooser.setApproveButtonText(getTitle()); + chooser.setFileSelectionMode(getSelectionMode()); + // No way for script to specify filter.... + + return chooser; + } + } + + /** + * Compared to {@link FileChooserEditor}, this does not require the user to enter a full path. + * Nor will it resolve file names against the working directory. It's just a text box with a + * file browser assist. + */ + public static class PathEditor extends PropertyEditorSupport { + private final FileChooserPanel panel = newChooserPanel(); + + protected FileChooserPanel newChooserPanel() { + return new FileChooserPanel(this::firePropertyChange); + } + + @Override + public String getAsText() { + return panel.textField.getText().trim(); + } + + @Override + public Object getValue() { + String text = panel.textField.getText().trim(); + if (text.isEmpty()) { + return null; + } + return Paths.get(text); + } + + @Override + public void setAsText(String text) throws IllegalArgumentException { + if (text == null || text.isBlank()) { + panel.textField.setText(""); + } + else { + panel.textField.setText(text); + } + } + + @Override + public void setValue(Object value) { + if (value == null) { + panel.textField.setText(""); + } + else if (value instanceof String s) { + panel.textField.setText(s); + } + else if (value instanceof Path p) { + panel.textField.setText(p.toString()); + } + else { + throw new IllegalArgumentException("value=" + value); + } + } + + @Override + public boolean supportsCustomEditor() { + return true; + } + + @Override + public Component getCustomEditor() { + return panel; + } + } + + public static class PathIsDirEditor extends PathEditor { + @Override + protected FileChooserPanel newChooserPanel() { + return new FileChooserPanel(this::firePropertyChange) { + @Override + protected String getTitle() { + return "Choose Directory"; + } + + @Override + protected GhidraFileChooserMode getSelectionMode() { + return GhidraFileChooserMode.DIRECTORIES_ONLY; + } + }; + } + + @Override + public Object getValue() { + Object value = super.getValue(); + if (value == null) { + return null; + } + if (value instanceof Path p) { + return new PathIsDir(p); + } + throw new AssertionError(); + } + + @Override + public void setValue(Object value) { + if (value instanceof PathIsDir dir) { + super.setValue(dir.path()); + } + else { + super.setValue(value); + } + } + } + + public static class PathIsFileEditor extends PathEditor { + @Override + protected FileChooserPanel newChooserPanel() { + return new FileChooserPanel(this::firePropertyChange) { + @Override + protected String getTitle() { + return "Choose File"; + } + + @Override + protected GhidraFileChooserMode getSelectionMode() { + return GhidraFileChooserMode.FILES_ONLY; + } + }; + } + + @Override + public Object getValue() { + Object value = super.getValue(); + if (value == null) { + return null; + } + if (value instanceof Path p) { + return new PathIsFile(p); + } + throw new AssertionError(); + } + + @Override + public void setValue(Object value) { + if (value instanceof PathIsFile file) { + super.setValue(file.path()); + } + else { + super.setValue(value); + } + } + } + static { PropertyEditorManager.registerEditor(BigInteger.class, BigIntEditor.class); + PropertyEditorManager.registerEditor(Path.class, PathEditor.class); + PropertyEditorManager.registerEditor(PathIsDir.class, PathIsDirEditor.class); + PropertyEditorManager.registerEditor(PathIsFile.class, PathIsFileEditor.class); } private static final String KEY_MEMORIZED_ARGUMENTS = "memorizedArguments"; @@ -335,7 +576,8 @@ void populateOptions() { Object val = computeMemorizedValue(param); if (val == null) { editor.setValue(""); - } else { + } + else { editor.setValue(val); } editor.addPropertyChangeListener(this); diff --git a/Ghidra/Debug/ProposedUtils/src/main/java/ghidra/framework/plugintool/AutoConfigState.java b/Ghidra/Debug/ProposedUtils/src/main/java/ghidra/framework/plugintool/AutoConfigState.java index 84bb0704dc0..49a56d95a99 100644 --- a/Ghidra/Debug/ProposedUtils/src/main/java/ghidra/framework/plugintool/AutoConfigState.java +++ b/Ghidra/Debug/ProposedUtils/src/main/java/ghidra/framework/plugintool/AutoConfigState.java @@ -15,10 +15,13 @@ */ package ghidra.framework.plugintool; +import java.io.File; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles.Lookup; import java.lang.reflect.*; import java.math.BigInteger; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.*; import ghidra.framework.options.SaveState; @@ -273,6 +276,80 @@ public void write(SaveState state, String name, BigInteger value) { } } + static class FileConfigFieldCodec implements ConfigFieldCodec { + public static final FileConfigFieldCodec INSTANCE = new FileConfigFieldCodec(); + + @Override + public File read(SaveState state, String name, File current) { + return state.getFile(name, current); + } + + @Override + public void write(SaveState state, String name, File value) { + state.putFile(name, value); + } + } + + static class PathConfigFieldCodec implements ConfigFieldCodec { + public static final PathConfigFieldCodec INSTANCE = new PathConfigFieldCodec(); + + @Override + public Path read(SaveState state, String name, Path current) { + return Paths.get(state.getString(name, current == null ? null : current.toString())); + } + + @Override + public void write(SaveState state, String name, Path value) { + state.putString(name, value == null ? null : value.toString()); + } + } + + record PathIsDir(Path path) { + @Override + public String toString() { + return path.toString(); + } + } + + static class PathIsDirConfigFieldCodec implements ConfigFieldCodec { + public static final PathIsDirConfigFieldCodec INSTANCE = new PathIsDirConfigFieldCodec(); + + @Override + public PathIsDir read(SaveState state, String name, PathIsDir current) { + Path path = PathConfigFieldCodec.INSTANCE.read(state, name, + current == null ? null : current.path); + return path == null ? null : new PathIsDir(path); + } + + @Override + public void write(SaveState state, String name, PathIsDir value) { + PathConfigFieldCodec.INSTANCE.write(state, name, value == null ? null : value.path); + } + } + + record PathIsFile(Path path) { + @Override + public String toString() { + return path.toString(); + } + } + + static class PathIsFileConfigFieldCodec implements ConfigFieldCodec { + public static final PathIsFileConfigFieldCodec INSTANCE = new PathIsFileConfigFieldCodec(); + + @Override + public PathIsFile read(SaveState state, String name, PathIsFile current) { + Path path = PathConfigFieldCodec.INSTANCE.read(state, name, + current == null ? null : current.path); + return path == null ? null : new PathIsFile(path); + } + + @Override + public void write(SaveState state, String name, PathIsFile value) { + PathConfigFieldCodec.INSTANCE.write(state, name, value == null ? null : value.path); + } + } + static class EnumConfigFieldCodec implements ConfigFieldCodec> { public static final EnumConfigFieldCodec INSTANCE = new EnumConfigFieldCodec(); @@ -318,6 +395,10 @@ class ConfigStateField { addCodec(String[].class, StringArrayConfigFieldCodec.INSTANCE); addCodec(BigInteger.class, BigIntegerConfigFieldCodec.INSTANCE); + addCodec(File.class, FileConfigFieldCodec.INSTANCE); + addCodec(Path.class, PathConfigFieldCodec.INSTANCE); + addCodec(PathIsDir.class, PathIsDirConfigFieldCodec.INSTANCE); + addCodec(PathIsFile.class, PathIsFileConfigFieldCodec.INSTANCE); } private static void addCodec(Class cls, ConfigFieldCodec codec) { diff --git a/Ghidra/Test/DebuggerIntegrationTest/src/screen/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/TraceRmiLauncherServicePluginScreenShots.java b/Ghidra/Test/DebuggerIntegrationTest/src/screen/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/TraceRmiLauncherServicePluginScreenShots.java index 845ba3ea7c2..22f8a7be08b 100644 --- a/Ghidra/Test/DebuggerIntegrationTest/src/screen/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/TraceRmiLauncherServicePluginScreenShots.java +++ b/Ghidra/Test/DebuggerIntegrationTest/src/screen/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/TraceRmiLauncherServicePluginScreenShots.java @@ -15,6 +15,7 @@ */ package ghidra.app.plugin.core.debug.gui.tracermi.launcher; +import java.nio.file.Paths; import java.util.Map; import org.junit.Test; @@ -22,6 +23,7 @@ import ghidra.app.plugin.core.debug.gui.objects.components.DebuggerMethodInvocationDialog; import ghidra.app.plugin.core.terminal.TerminalProvider; import ghidra.debug.api.tracermi.TraceRmiLaunchOffer; +import ghidra.framework.plugintool.AutoConfigState.PathIsFile; import ghidra.test.ToyProgramBuilder; import help.screenshot.GhidraScreenShotGenerator; @@ -49,7 +51,8 @@ protected void captureLauncherByTitle(String title, Map args) throws @Test public void testCaptureGdbLauncher() throws Throwable { - captureLauncherByTitle("gdb", Map.of("arg:1", "/home/user/demo")); + captureLauncherByTitle("gdb", + Map.of("arg:1", new PathIsFile(Paths.get("/home/user/demo")))); } @Test diff --git a/Ghidra/Test/DebuggerIntegrationTest/src/test/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/TraceRmiLauncherServicePluginTest.java b/Ghidra/Test/DebuggerIntegrationTest/src/test/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/TraceRmiLauncherServicePluginTest.java index 8d90b7050a2..719b30a6f31 100644 --- a/Ghidra/Test/DebuggerIntegrationTest/src/test/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/TraceRmiLauncherServicePluginTest.java +++ b/Ghidra/Test/DebuggerIntegrationTest/src/test/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/TraceRmiLauncherServicePluginTest.java @@ -19,6 +19,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assume.assumeTrue; +import java.nio.file.Paths; import java.util.*; import org.junit.Before; @@ -30,6 +31,7 @@ import ghidra.debug.api.tracermi.TraceRmiLaunchOffer; import ghidra.debug.api.tracermi.TraceRmiLaunchOffer.*; import ghidra.framework.OperatingSystem; +import ghidra.framework.plugintool.AutoConfigState.PathIsFile; import ghidra.util.task.ConsoleTaskMonitor; public class TraceRmiLauncherServicePluginTest extends AbstractGhidraHeadedDebuggerTest { @@ -58,7 +60,7 @@ protected LaunchConfigurator gdbFileOnly(String file) { public Map configureLauncher(TraceRmiLaunchOffer offer, Map arguments, RelPrompt relPrompt) { Map args = new HashMap<>(arguments); - args.put("arg:1", file); + args.put("arg:1", new PathIsFile(Paths.get(file))); args.put("env:OPT_START_CMD", "starti"); return args; } @@ -94,7 +96,7 @@ protected LaunchConfigurator dbgengFileOnly(String file) { public Map configureLauncher(TraceRmiLaunchOffer offer, Map arguments, RelPrompt relPrompt) { Map args = new HashMap<>(arguments); - args.put("env:OPT_TARGET_IMG", file); + args.put("env:OPT_TARGET_IMG", new PathIsFile(Paths.get(file))); return args; } }; diff --git a/GhidraDocs/GhidraClass/Debugger/images/GettingStarted_LaunchGDBDialog.png b/GhidraDocs/GhidraClass/Debugger/images/GettingStarted_LaunchGDBDialog.png index 968520108539e681d8211f97764e949878072d9b..0f1e49d3b7893376f7673025946a4ddec1ce3da1 100644 GIT binary patch literal 14767 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 Cz!il6 literal 35960 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 B9HamM diff --git a/GhidraDocs/GhidraClass/Debugger/images/RemoteTargets_GdbViaSsh.png b/GhidraDocs/GhidraClass/Debugger/images/RemoteTargets_GdbViaSsh.png index e33fd082854910cb6f7c054288444507a1e049c6..5ced77f1c2dc349ac445e0c7ec53b5bcade8b4b7 100644 GIT binary patch literal 19608 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%0D)JZ0edeI4IH~p5L?s0^ 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 a64<@-S+?-^z+W6gP==_>f0i}#|Gxmq=_WA% literal 34357 zcmb@tWn9$l+BHmf4c*<{9a4fIt%M*cAR!e0$z6`eW*U#*u5SBTipegAk7v4+RB<@Q$XMAqom=5ef>L3l181h3DnO zR}_>mlsjt5_xvo8`M7=*>a)M-%rMmL@y#WfN$!%HiN}6?5v70}V#SGw_$bS*MS{iJ z0#lQOFr?Gmn#WcqF|bU1YJJNxLnpKDyGt0#;aK9Bl-T!E2Ddu~Z)=Q}g0sFZkDV#} zKDd|vPO;JZxU2Fz;TG*Np~mzYw)1!rZ#l#HjZjId38h!%^QnABx0CCQ4X`IyhBcJIc}TwVi|`i!b@q`^NQx6mzB&X%8;rzrY2xi7iTw<#_4 z4Ycv%(lbzMz%T_vlRb907&h$;cXcf$Y1uhaG<7aIHJGGtmp9cGrjI08x_tf=RO6ir zqgZBZeKxoAUC5&IM2IQqa;FGlr%s_AUc4d{Q7pq${UScwBa!jCjpn=1gRA+uP}7!j z$3hl|Ewbf2%+HpgfkeYiI|t;COoChY4%3N>e+C^)R*amz6KcA8`pHq%lHT2?Kba~- zjEFa=-fj5OemCUee8fROc6YBTBWqCimE?up_LfHI`O$oLZT8X>Bx3Mejowp=T*Q6o zYaXXw!zpHwa(fNSpH5i?n_gv+7&WPk$4oky4^eQbCEPqq%AY95wZtD5Qw_EsKAx7W zb?kJfZ1LBgjY#+YHp?WwJAJ(J-c3lT(I-DpRbnDPI>}ts=jZ9&kGchC*!#+h=AX5- zuo^L|F)ob830_)sPc}{KxO-7nMO=yN?1@`HJ|A8$e~fI;P~z{LA6G=btwMW#=I0sM z;3ccF2cK0KciCylWO$|UP`^2U*`01=OA8y>J`0N`B8GKi!!(#bxQ9fpde7VOFn|E zu1j)5p`lVxq2PIOS>^TR<$;OveX~LdpJluS(ujx^S{185DY~2 zd|^r6vJdQ%S>u|@GMX-=e=FCl>5j8Tjcrcxhvuk~>mq}y^e4aJvv*~!l`z%CLb^^r zSxQlObsq_R<0$hWX7*qX>a`rpZhL%OsJJka(_(i0TiwA#pNuv_fVvWW;dYZzFVdDT zRX3oWqH^N!Q;5Tschnc?2N%5>+g>C0cjmV%b!nD;Kilx^`9nI2r@|S7u(72=mk>w< zt>W^go{LoE`AA;F=_XI@U0WYP1%-2hXpA@JmGAeN@2_)?h9Tvc_(j@mvD;&OzReP| zBj@&)zSQ#Uv3slr-gRAiRcShX`)zIWUe8o&7{AcaV;w8eiE#SM$fmTNW#TVKAy`uG zpSCKW1Yymc&5a|P8uyDrG9B8F1?94WJ79?x0Rg|5u;MmcI(40XJgPiV$gDbdmSFYR zll@h2Fw3vM8bjBJT>QQ1vUAiJ8XjWn1I_pVp6nAF${E36-uBD?axzy4;~W^`0VA@~ z5Pqv$du@VhPz)F4Q;XTm<{iJrN9sa})Q*%bCIgORm)5v%J~2@SpWIt{?XZOmGlI7o zIb5dEJvW(27ojoAs#$*jb6Q6~oae0}!a8)$5%$rHN$@#kR`u0+K5=G5o)b9dXLk@i z2X&XKD_c3!Oy^TJ7hxvtpQXAS7iZtRs(z-5&Csprc4bm+9y-gnx8(ZH{2^&ePY?m4 z3}cg0QclzJYI@g*TL{i}nPH10B3Zm|kEghg8;$dgpY60(2Qo=Br%ir%nJ;A&auW&G z55Jy}E$1{o-iQVVbOj6(i$JG#WuklPb!75{(tpIf7#Ctv>6?hzhz(+n_r&U#n{Wm~ z=H62y#FZKe#;Rb**+$j^+An-%k|=Y1oV*xjoF0l)7zAVWfhGbc!b5=F14Frml2kf^ z*#aMzUYVrkIYu%w&YTLG21%3)OE?=&PvifeALl?~jvcU?|Gxd**y z_1r~Zx(%iC=m!ik_}+VW?``Py6_t?XBcC5;#m~#A1Rnf6T~Ep4F)DYRuiyL9xX=}< zRC~GCyrOva^(ErRnB4a&liKBa`(f7tZo`g%XK&h{EJ$izgYQuA-iwWm4a0cU?6!ob z{`Be7D$eh8+8%v|xk;8S9xO64XEkm6-@Y_fZh!5IBTG>{f4nnQR_MP;)8HknVo-8B zNjG2i*}|N_x7q4pS(pGml^_N_T%r8!Kuv64cO-V9-x_W<$z!U4#(-nzj{L@>pVNB1 z2W)I?CRL_S7pRn@u)?WYpmu{H*S~+6)L8g~|6YG7QjW}Km{N}?hq%Otn0^3HC{pym zPG(YKtk=mAw<*h&au>Y+?%ut7GhZ5AgdTptu$}1$^p)e%y5(3z?&dcxppMRrI{)b< zmukQPqPvQdPqackVf40*N|E;P ztTok|-_4aIjQ`T~WLV(Im-nc{KX;}T%8Beu)X@6KwdQKALeGviYP+s-HsbMjLPpmK?v>28MX(_kGFy|sIe*B$c^@Ml|H6?z+U&O-^@ye8vF8ug%%pZ>) z=Ei!neoXQ!?ida)5!QG#jEM!eut8{xH$csjEqL#@0OGI zlV~Nf8Ja?h^UE6AZxuU?<}?Q{tu3~CacF1q8&|;(*9TefuT^LZP_2KxksV2`iN!#Q zy!PH2%a`1%qG&M$3zuq_Q+tc1OfHQ|*@BKu1WTZ9$LscV{CxUB$`!{#SC?qG$ECy+ zuUW8kyg*^Np7orJ!=#at8ZZ%8+qIMY`-z^ zYp~0xwd~+Ewu=;9Fw0p`wsN~5-JUGLPVX5Yn{w|srYsFSL4Jx?bI;*poqTJ=#Vue^ zthPRov=VZ$=Q3BbvuDd^o5QRUgMv@Lh^~(zr0?O?lh3?_zE+JXRdGhqC}nT^AWXT(CHH^e;cBC-PGV0A4xi# zfC;%;17pT9Yzg@t@W!atQlaCaciB^I63p1|Xk6X#w=fxle@@DMZx`d`bsk8hv4tRw zfJ>S*xy}Pyq54**9Q~HaSNq$AC-aiaVi+&a`?ts-E(m!J&2&;;ymhCwneF%N2S|+yP(HG;T$> zUknXTmS`kU3OM^IEk=nqCoGEtA7x}bxUww2`|4u9jkxsS;(OQJg1QN9GloIfDXT}6 zd!AA#<2{u3hJwsEtkS8l4Qvp?WS@N_zgU-m4}R*$P{zO}ZMj6``z{0L3-|poTW!uH z@24-w`RC*R|D_TRYqTt-L!y411b=OPJJ{iC3MO3^i#w|pxaSL!Z!jJrgxlCg$V$B{ z#j)s_9vrTc_heY}p*CQrT)G;BE?`j%qB*{?_Gxt{K~!_+8quOB=Np&G`sj8aY*}1< z)#Jm|j3p3O`;a!i?Y>a7W{QwTZI9V2DdZ^=LBO3j!d|YAx1M||G{#FMp|OtjW-FXr zX;S7$MU(Q~Uj#?ib?>bqutVUT)%Tu&bn_W2aJ*zsJc? z^)M{CO_<^wkuKJs)aLtrf3a2UB0M*lL9RgdnbtdId+3-|S4i+kwupg&K?d*r9L3-d zouY#z2+9qf*49>Fq$zQ6AZ^_(R1B_fXmAfawDl>Y`GTBp06Ahl<%Vy?m}BO@dH z2?BwDtZ1$D@e>lHBpUI@B=F%ZAtnE#N6>1s28VD+d=c8cwmm*+3`2yh_qGQDhMIl; zbbUa=c}DY{ajWNsdIDv4sV^YYq3 z?r(4$KS9nLo#BVS;2WLz((E4k^&=!xM^DfF^SjRwp|@|}F5=D>dn(d+WPvC`e>7EP z)?i{4oG}koj0xH815u0L5r{@RPEf05wfAN-mA%Wk#63EY&ydNQYNM@mpQ@AXbw^ahS4e3 zA!U)$*Y@`Ihpc|zjs&n=lUm8D)OGj}@$NM?lBeJKY$JO}0{K{vEv8kkrei1QXFrrT z^LN8;OrSVc`i~6||ECQIchrU3?1j9Q&r?(qIanS?>@AiMXAoBA2e&b$+Vd-wQrM zXBkf^z)Ux4nzu5`%8b$(>z3oG{R7<^VoYZp+@Z#5b)2RAH-k))Xti0)Y~- z^N&A|GPOEO#o<5W@*prBDzXCJN18+c9}oRGsX?rCSvPoLH=>;-_}qlR_|Zvuo|{_~ z_HYbSh~MVOD>^ARSf*v3uitH`xO}6qyF5O=${ES*Bbv*(d>S}Uqx0to6Ljdu#IJaC zIWrh1r~MDo!GX4N8IGaPnnOOt9_z2rkK1-+V8u4FMo6&O|1qP@sPx8Z8&`j^QuFb8 zbywUt7`%U+wcqPZSLZ#Qzpn?9?4;;LDB4_SaG>9du)JP=;CyF3pUq*zPM_c1w-F-T zXmNaFj-0XYd95`zNtL5XuLV=(6(jJAjA0e=j~lH}3H0 zQ5Z6UY{xEr;l7R;R=fRoI5g4`Y9uNqW@Kns#91{wnk%K6)#ps`i9%BRZ5&7_KZx}o zynk#nUpy0!)3R3R+-=OEppgGB$4N9LJ{~>fpEY+1Gv#A7B{QU?D=F!>)73PSV;IP6 z{#PKe8%%yOU(a#(IF5`9q!;!A{J`6O8PUE$JGXb?P`0}`7b8TvT_A>hErbb})t7=A zw~nXUym=pZmYYdOf76qNcnUtBqpx=~dxMnEbKN^_)E(T1b~Xnx_)L1pYW)t^kki<1 zF!+9B+rBGmUxRo%(Q$g} zw{7_Q{5VUI&v!?F#9UYi+2&h9=J9s1|eQtV;!g(lVnXww|Grmx}{v9eW^#x@2b*D^0e*hmLiHkahi^`C#o%egc5nLXZieC7U@p3?>fUUM>RB*zB?&0@N z(})856Taq7_2<9VK;Vpf(tR&oz??E3@$F#lGh($323hR^QO71}$T*@dDWAjp^k6kR zn|l7iL@KN`^R;SBPuneHV`ERxqdJ@3ueK3&J!7QbCQAlu9=3sC4hmYOH$qfY;_MzZ z9AaW*%PEM5Md0Eu8yq9*Qt~-4zV`sT;j`+zoYqqsy$X^jW&W=YZ|OKyFwKBMBB-E48Ilx?)z`Qj+g3I*NH7~?gtT6%{+$!v zf!DEGZw-I4}J1!Xy`$^A5=zM$H(Uc6fD@pj22~D6jw~Y z{hZv~_S4ujV4v(#6bATF`*vdaohFObudjapLe6^~f4fgT%yfM^sKMypSFbrwST1nNjdt7N!t7tbs;Kd|A794*I;(fmB&V$bH6cqhN0T)& zZ+Lu7-G^0Q>-Uz~4-x{@L-OcN&x5FZ{rqgEjTes>TMogInqeXk-I2gmG6k7t@)Uyu zK*&Pq-lXzV8=oq4R@<$NgrPBh8#dDX28>yb4R~a@T{xYvHLUc`OFtjbiXq3d{HboX zDQunH1};T8e_ZKWo`XZ(9eeA*7L!hdn^ww=9>2U4bryrz$bLXRw=QwSfD-Wq7AV*b zJDP}Qg$on12O&W1Y9n3O_$ZuuH26UJ7ta*P7hDB?Xv+$tp{Z|qZm#(rmQG)>Fs%xK zwre+B#-yi?D%|j!(l~ES5k0@EmyBPJ?i<~a6wfLB89E{_Zd_+?Uw03RE;780o)3F8{~T?x)= z{*XxSXGo){pZJMLPuq)$9eGL~eqKjhZB#+z>WG-X%3ZmPRyvVTpR$%|{=KY1BMwRE zd5j~%55=_GvcT=N#L#+sEni6=;aTU9ZevtdW6MSg`E9LTtQ?8uy8GU7ya1dGFO&AA znrWUqdwM=mY`)1@!L(VALp0csjUBOcGUnL&5`^Eh4u!NXYk#>zPV7j~_V8NGda}1< z=XDHYgj2Qt>mHDLOPjUVoAZd^$*+7pHs`nMs8BO0weNB zqt3cB`v8>U{Q2Fp^#MZoE$FrlslJhX8uoFYEOU?fDu{-TnRSp?`F0O`1{ghpAT1Iu zv*NCB64HZjMAO}g?FpurN*o88G3r*GLH->NJ&S+g!W874XShFo92YGlqRXo&2#7B$ zn@XS(;`O}?7lziT1T&@(+#6WLPVp+F1+fp?-J||#CUGDvovzLm=8yl(ec5FSD*4k(RIN!tAG?EkJ;ta6JBXTa);Mj)@^s}gtsvpTW zRwEPs43{ntcBqaBi;BYVYdRSJDBqJ>2kbwIPAYnk9GQan4PwAN*vQO+1eNLzlO;U> zp?bR1pS#rA_T&9PszMgsRigNJoPd)`0L4Pvff6QJ2EB>j4a7In*7^a~$JXi>K5h3F6^f+Fr1$+RpQDaa;v& z9yIbIt!(Y=unB1~h)suC%lOI+{yM^mwWaXM_{R2DxFbV<@Qm8|`*!*%GkC19QVs{y zV^zgZ^%0Xrj!64TaZg#47d8?7M_+$aY_+;Exf~8xwM`JCM&alQDFCQcJ9s=-lYctM z8Z{2EN;Mo*^8%1tIXF4vL)CAc5&&2;isYc4l8mgueweZ~>;U(_;7&snkk@LXRAa1D zMBrC(%*s@Pg)HH1cVKPg9x;CbrHe zI6SS=s)I(6vwJB2?{~T7{H4FHH}D!HbIcs5Bg9wt(^-BZF`C-~j=!a{r~(86LytxC z;5yh=I&shOYm)LCR_UeDttPs%_w@Jfozee zhGs_QE9SR@YbDozJ#B|qThr|3Sq(ddt23>!t-V7=bxx49avZt-I;w|;V%(Y5*444u zssgr?OrsJCP3G@q1PMkdOe`UC2}(?B4PWRR{a-<&@^OiEf*{fmxu-OH7|oFiIi@ih zVIuScCt?R4aYG-242`D=Hzw4?uV}8MrF{QxXNugWg8HOb+Zn5$l%R?NV*f_n{-=h$ zPOiWg`YZ;t#?v1xij_9*Glu5!E{;8_WL6ksqKoG)afpPV~NKdTY3HFJHSMi6L2OIQlRj+Z{DNr&_khPG3NawN^u-|aLwxLQ6fXl%Io zb-q~zo`m_myMB+?5@2T0Z7=J6A{Lw^(UNU1?uii;LBxyb3RR<9VHbzyIvm+IY-qmFcfi z*CN~J(L|j%dG;-GJT6=<3?obbDq3rnJ*XG-Jd>Z@$3qN~<+#;FrT1UTF_f6<_zTY3 z@FeIY#Ci+*;LU=Uu{fSlyQr(tI8T;&9 zA2QKMq?MG68@xW`%XSwPeGzy+5k(fDi9ow!}h?*QQV*Z$JQ>EXI3Ast4ET_#4IL5P7`_QM)l+tZ2O zA6w%ov=Y1k`~X-EC`=!I@SbmZT4JA8&r$}}S4QLN9ajJ~8nnj%nmGo@MCj!@6O;c} z$S|wDs+QgB9;)ykV(CSz!qH{+A8)CKnWs-;LpjyduInB~=mw;IOgLG%fBX5&%wUW6 z&Wo!qLq3L_i@4FqG%3pRa0{NdIa9ggN#9nN{buDYiI+2D^9|~peT*BANEZq*Adhi; zoI%j)(DG-Mofp;pY;?fe?nSQ~g;ie&E zKWCneirxMOI1CR11;4NAxqHsVD!jXV;j(00x=}Ql_)%`wL}ekiKdiqdJ&$_`Rx&`R zZE8%`u>+M^H8p2F(Xes6?;$Rp8bM6uoTL!TxGc@HWFS8l+Qz=Qw zOp1A#<|1IeT4z*R6CTvPQ@S5-RSEDUNU-#1E9-!|usgI{lg5AY7VV3A$r2SUGhEZf zx|oP8`&Q=fi(jC2e~!nA*+lDI`QgCsc4gf1PfbNA|7>RLjG#|^xHt$*mbO(C90vm^ z;~Ai?%5C1;WPQt$WI)qFx|^Nmn`w>TYTb>dIZ~)p7%Knd$08aC6#p`q{M7L71nf@+ zw=Lh#*NhIz&5C1-?*sbjMYaEyvC}UZ>e3@{Aj0mQ67L2VRqZKVwEH%>Zy*q#xF@<1 z(VzwH4urZMvr_U@7&txBoaBQh-(j4sGMlcmQPpJU;0V_jEdiH;@gJ9hCB#@7D|1vl z>H~d~Y8spdpv!vG$OB!G#}mvydKX{%x@GtjMk@2xrr#s{v1wkSh5vtf_D8l9`J))6 zOPiI>V1OZB{Q4fc-@0YJ^2n?-PaM<$H=CbVRZ&4}@4jX41`Tz)T2Fv&od3@qz!3eB zgG(nNwkc6HiEPPMce@? zp1I7w7D4d8L^@#Z|o-`^PMsdoe z3^2r--Zj+?qs?Gn2~OCWjb_1^7x6>^f#G5H0%rCDZkGb^ji|C8tzzA7f?<4bCs+kj zB6=9+Cgt(2W5{^XDrn-$xkFn(A$YpdvMDwM>z%tSczlOR?2v8!95RX4>5d)N_ zQ1S`wIH<}bWMs^^i78PnGTA+5$*r-|b^hZU&hbY{%*U&{wOz@{$(yUH%!HJ!h9o$M z`k(3uf!;dV z_x6~zP-gV;ML|O4_Y1hS+p6AruF|ak0NpJezm@~#e2{+MW_TQ=e9d=s5>1c0v6<>H zM)Uw%XPRT@l^xx|QHo6T#{yA<;1LB+uJ!TRtq}pwQdYU;pD*9G8m{%(?yB9*rfR^p zYNmE_asrgd>%oQ302UD|amc<@^P075OieGb#w|QFKp>+~`fgVyHiI(@k9yeGgN(cT z7bu?i3;-uWdg)Xe2`FyHBw2swp?5$)K&5eYvfmvYoqoZ%$IWDxlQG)`a1S-cpo4CJ z=syGyENGQI0)Oq!rOb~m83#lL;_kC*hCu{>f$+~l*o@s`>-f}_Xu7UBDm~w(q5%UP zfIjBxIh>{NLVlau{PpWPO0RPGI8Lz5xolNhv!TxtP`{y%zrKMFyDT^)dfS7`d3K?+ zZJy*^1v`9-czO9GVerQphbQ7}BH-*z!O{DPX0M0Yr9D9sL{)U-t~?HtLcWOgkz1wc z*T@^aS+204MGFcYYNjMO-zR{7(^EWSXXn((x%XNH6RvgZ9Ms)mn7z)P|61o^wgbxl zS*E-I3+4QwL#SxkKg&eRHQe~{d7?xk<)-U<8EG!w`}Ns~S;}X4M#<^%U8|c@ek9T+ zx?JGEjz#JNB`0;zQzKA)BkpWV#*5uE?LoQn$_mos;hYEmA9FBoa&=m6muc^YZUTIF z2)Rh1$K3%EE-s_?e?r2+`r-MXzfzw>f6AS9%*coE-6RuW7EU>-wxLJwqf8$S=7xw$ zm}nu1n{)xHmQZa@ST`B%T-UWpIV$YW0E|Jx$7^epF^^O&JkrLhlR}1(k<(CuXSrb0 zk%xdC$x7*Zq@|&f;Sn<(ib?ZJvPhClj!h$?LNig98t5Cp((kqtPbxrHV_}gP#-#EeYqRtAx*2CkyVqmD9k#$KusoiO6!Dc@mxt#BjfW^Y-MVekipnlz%dv z>mVvnOO9^N1wiNi*=p0l#CuVMWagKwInZ3W+MkG6W;}Y$Ktn^)izaVCSuNHiHgol3 zlK*3rX@HXMI2z&;jw>n!DC(mDK228@SLPvg6i0;%WWxb3DnqWQz1HDc|0@Q%KdV0F z$ogZfYQ{AdxC`{#>=!6Ai+tMd3r$b>jH{?Gp2veK3;#e(t`kcoHyuw|pbR)_S)Op!x6*6d+&5*V))6SgDDDOV41WUrm5PNEe#jV>VdL zBBQQ?`;yHwa*dpg@iU0c0L3Z$Etv;EwXE1vD7iM66M{6 z_l>pQJRrmeaj@DuIXTI8JJI?&jgODd1zgqUEz|k=dGlsB26;aZz=fQKx@?pINL(YC z9+j&uKRrGo>EC|X3PYFdWeUd#i-3Y(syqZeZYoAyybozAeJhy-#xL16NH!FbgYD+_ z(euPF!p_H*nE}Qb#n#$$TR^gpbSUTZlR=?-C&ri8w}%i3CxLuek>ooI&EJQGy7*~i zHYo=aX?oYu?v!nf7YfF8>&0RO_d@4eEi2hkbI*S05*&jGi z8F9kn*mxZ7(Pxce*%YUCfA6ou`+xfVm z*;ZH+(!zS6mR8*?-0XLNP-a|>&WgbM15@Tiw({1t;P|M6yr@LTuFJJaX?~Wy^tQ0B zmnxjh;I`hq==XgpRk75X>5BZtEDlt@lq*<*uIx&fyA_^@p;?-td865^L{scKTnOZ$ zO^KxMZL{f+OBH+fy{LWYytxQC*`m$*m*%h(w9XVd!33y{IaTiM1tg>GY{X(_Q#HSHnP6deMn+yy8|Ra z8Yzr~RLSPlLwte}4aM|&2F*yB&p*eN1HH;{cF<62rYW#A zq^KQ)P(+TBNWU+pE^RYS%j|#M@!y?Rm6x18H#8;-N?U)^?11>(sFlHcX@1YIxXKjT zvnawHfiLywBgsbd8`#ctg^d9R2gg%SJO@SZw#OaK1{laxx~1(ig>UE-qwXv@rBF=Tc=pnJ7YCc(6a;PyrBZbElTrYQL_e!^1nA=)*@__GJ5`E+Nfy$45LJ` z9O-7!qh2!E4Cg0^NaAFA8BtEo=+IaPvE|ZHMQa^042UW44rUe>R39lG9-hSr^|6<3 z4)$TUEC(IbRLgF`<+CE^QQ?IuJ3wzVC?L76^9321{nFvphOyUgic+Cd_i zd&o&!9<9vU^$H5idQc)8gB%-DX?*Z8(u>OJ7ob;A0J;>g0}ie9*u+HF zxtb+F6PcwMZ2{Vog<5fR(Q91cvLYf#RVnFK8moFyMhs)Xc3GC?n$p04w%PL=YI=8e zZ{oFTyEs!_o=p{+gUQ-8!4?<02j!{%2ad(ALP7?`AZc0IfWBA=(l@lezMfLZawOE| z%Udr%V3H6NI$XN;Z;CrOI=X|@4pf>z&$+6^IjHUB<&{D&gQg2)Is9jl8}OTL#+3|V zCI?~&a&b8V;m==r&c~4v^5=Gd$^?`Izghhw07e12abPcTL9pGT)zf~WNEuNPban(} zbd-Fz&PSzI6650m08LK*RPI#o?p=&)0Nbq(Gwc#?GLbeojH0oTD`Q?oN=W`IPn)}= zjsfvxAW)>Lj=y~IqVxBOxtk;Iwt%boP^N%6cpicRIFyaj z)_-fr0oPNG_%4^&9!Uz#yZuSjVI;diA+Y}ay@0Dr|6!|B$?>gMVvg2?c>wR4L&fLE zt;^c7f(_b|h4(9eF9>J~=i4P~ zX6>|F877u@w6!CDk^A8^KUpxYLfM&_nE_xREFtdnWn5jh^__0?>&7`tm&syGG27qW zm#Sz;kaC{`Z7rih&ioTYa5dYJt{s@tF^XZQJujZ$5q7^*)GW-pEzo{H{BA;r^Gc_J zcZNOF-yXGFb9Mi@Tq%%{jR>Mu2%Dg=!^E1kad~nJ3YGz1$YyC>FnSC%h>aan4nD1w z?kTbiKE7|ML7yJGA+D7fiA|gnx=i&5O^~%6Ch0Ww)#pCN&>2QXp|}%it=QAGJ|Ho$ z%}{t3_xa`k{nj|SxIojw^piX)5GWBw1X*<>#9!v%x=)vnf@X2G$Ntfybis$T#-~7V zVmj-YdC8K8;RY@@&61fV%U{0k7@y+x}_D6PhcB|f*%Z)Bs-ZHCS zepJ!4ST8EgGL0y)w=j?%WZOIClJgl8+#YNIq${PHOeQ5)xJlS@ypowf0nRv9W@d}W zDw+lU{5OT?ZRh)K-$%MaMnT&ZJ;Jn!=(b>@dmg)O@k4GAUc_IK_J^`HZufhdxtT#z zha0iFRb3M~&UF{9oukgGIx5trJ3Ek1x3fHu(MacaSzJm=jKrs@1MBGKXPJ}`^S@@Y z`e}4ZxFb4gmzulh4g&G6p$r|jb!0t!PjH1)6|L>tc@F?;8u##)yIZJAXw=! z!Z#M%rK?Rj#{NN!3++65r>zqUQ|xI!CduF3o8Y@LrH39%846=NaLlmZGOq8Yr>4ZSUZN6vWH;yK(VNnM z5W4=X?#lX#WfE$q(Xu-4=yUl4k_*dKxoLFfLhGu4+}=h8R~}W$8R%tCE5tVO2;d0* zhabpK%q~v$b{AV4JXK&HAC{Gu$20ZSsr^+_Vb}gR=oA`586mhPAd=6%2unf}i%`8v zBSAi%nw}ng#_p=iMjpOTKqIPlCcx`){?jSjFqO;AK=R$IaiG5h5ip+V*fwJnR|i^ zj0_Bf?>;z9a~iWBTezlk)ZndHt4NJdP=i1m6(fHdqa(f;GK4GAZuPl;U?8G7934B} zstk%Dzpy$Mv!nxLJRmdWWnJ9gqCnXakqMHfh0cIX(nW`LMC+`XuZp~(< zU*ipr{Keqc%llUq6@0j+-YUI<+j#Yr_zK6u!2!tS*xO5geP6M<^dgKnAT+s|l8M6k zw^^CB2jM@qUNWzIyrz5@c}C2DT<_(vNt!;Ct^O_wNUYme&D*qStR9Max$YQs?%8}5 zCn^zv7`h))uPjV@@hRs>dJ8Fgv%(U;Fr^)>k`sm>Z;G84<@)bFK)ml9W)3%kjo%-T z=sT$BKj2_4;S48}aTVGw*U6jpr4fWk-_S|j5CPS5|9dVfi7v7J!d1n%T4sl#8gYjV zB5mal`GZQZQ-Zfu`8LnmB{rmNKC{;uiyum4c!8=qi>nW}`?mM*^Jgtpf5pfVx98)g zJZjb;^!{W(=TM*&s@M?d)=wo9dL`fNcXTo;pG2CeES16NN0xK;l(uaKvqcRd&&yzd zrQuCGmBIoRDo<@ZiBZN+xdLf$`O@Db6>tELQG8#Vr}x7m&bs>XnhWoizM7YyUMyKe z(&L^eTu{O-0jp>yCZdeL8kt`=VGD)m|w~0A= zX}yb)@bDYjBEQE_)pTkIfk+L@W_MjYC$~NHG&%d>bPct4s)@B3|H*6OYQU&UEYR>L zG#1CzzRgpGjJC?N=;BDSP7=q+**s>Ij@JS1`A=`KJzKp1q`$5CcKfBG!ye?`)2?$P zDbw&WL6`y>S1{W1YV-=0-_*7isw0u%YGmHDe@-+*2h9|zs${-uwt*c=UzPFAFGy#D zKK}7o1}TB78kknvWXKbzAH9J)Q?R4Zmrrje)6aY^N$IhcC{*{jwdPv?Z4;Xe&Od`UAPCo9lVWcvgSRbyGw-?AfZ+qHOQqaYKub%0&-lGRUmN%O@MZvs`x@^HXV59o{3AbC&H+$kgBHzD zO1uM4Srfs}4WEu2TqQ|(x7~%Uaj=P4W)yR{+Z#>T+7a^m+=J~P2PpV3@oU|?3Qt^Y zAIm?EN5b@C>?c6b1j9000^{ho7MiIqUy42YmsgVXpXe(kcZia}|! zD1%YHrz{q}2)LO3B2_R31f?z~jP3$rp{HT(u_egpGx93Cq4~~MTet3aPXVE1AoC-y z(3gBLg(>C``-9v`jycDF~8P>2ej>-3^JajK+tcCsaa88-m^Oburr{TZeiG0XhFAO`uWAB zw(;>~#DW6v^~mFuap2m@$C6-F=vOb0r`^m4I)v_4H@|rKQW+Zzli@o{cyH_P4-&nm zyl;@hog0#_%m>BEVr_2)IlQ!@0#M(*i$tR2R8+qJgQSEi#(a}s9*in6%+9SxfIqzN88J%jjRvk4b&r@jCR;NQlPcUTVo_0WxqjCIH@ zTd!Nz!E_WXP?KyLH&-=8_M_DwdVi7U8TxK@Io;6tnW{7{{bKJjrW3cjgGduA`^fOH z?rh}Xjw8v{1$@2kl&5M z(8&t{V^xpOrh3JuR9ABEN=d^nHw?%xB*7IzT++hN46v&ESS{jXujYx}EZY4H-s|N_ zLl^}v=P2q>Mbnpr3nQKp(6ya4h$Z{QJM8xDYFeugeax3s{qzNiHS3*<1IoUxV!*aH z*$-zPNaB5WxhZsogyhUpqy}tah!_xrYhZ-XHb^VwUH#yN4dsYAm{6>G=(m68Sy3}! zRl*hw#bu9v+|WTe3-6uCkn6WRunDMP$gYc}@3KBf9QU^eiWgw!ue`i``NTd_KjB?$ z<44#fccif`L{Odm8ZdPJTlu~tK17nYqW_wijolmu8HFB{DdS}ckEq7}dm61-2dTcQ za=LKVJPcjp3(CfbET9wYUeB6`o=F__@Ey1t3}^630T2SJ>Dh1E;GmihHt;mwM;B6F;Zizh?w=_Z$dq;H*e;5N%$Ld=5# zX0w-yXdlSZ;KndU^CnUZ8}&~0eb;|#MVF$d8L;E+Njo6<0k!S!Ty5dBQZ93>N-`gt z?*}c!=2$+y``wM@Bh44cm&*M#>3xs4f- z2vABsjurvXSlDl93e625WXNoT&u}cv{53S8n@xPsHgt)S8FNaCR9YgF>d$viX__WD z4YTNv^?MEsOEn?eXR5>sfb|hNydHSd4a&sl5e#vMdWI4S?!!Ux${(DhWj6W6BM{nix&pF%tqY#^}io!2lT864kYatSKui zE6lcLg!e#um@Fq}xr~ zNJ&X0LG=ts)0UQ&7aZE092|!p==5(X91O6S-y`cZ8h-*hXS%^rFLMA?gI*l={nyx7 zTo1lT?Abz?M$4i*;v~jV#5`L#-k{1!plbN5AW=4_7g2whifgAyy(Y-?2jGqym)i zoh~Q5P&xr)T)?<=wY333$TSSljwrdWvDI}|qA0JYiNs8~iNNwq$1>9YeMT(PN2krS zPb1~+%w}JXW0(!2wm!O#Gg|Ud6dZM=q8@$f&lFyS9cxb{Re>%t zl&H503`lK~gxR8~|4@OXIUgZ}0p6c4BTYcLq_5`M|BZOL&;Pfpc1%>}i}7``37Ij~-N%Br0(4CD+3{RS=+ zJzLKnyA=93vlt#FYFZu(m)cmoIV^fgGDyK0J|+KwA9~;c(;SR9mny!zT(O-AtRTw7 z!AZn3&wUlWtZFLOKHn$1+w!(4?GJ0y(Twzd+hkj?`?d5VJX0P$mwH>3qXANRx|y*2 zoUjsk79W%!Z;>dzJrn%uP+a@EyAUs~jCt4^V|cGED{$cG-wvehdjPt;Z#ADcG4oZq z9&zTdoMAmlsNSc|_t0U~?uQRYC4a92Oa*Kgb}?+Er_eu@jqO^4FkT(^_bc_9-f}@HtRpFHRGX(gv9+z>j;jz?Pyk8uCigI>gg@7OdB!l*Cj-%41N!88uUv_ ziXUO4_y2uFDnz7-J25|W_OG$lN0GWR{xln@2zdd$Uz(U6N2t*!ig+{gk0H1Us;BUp zmg9iZvk>L)IiP_d#ApQ>*A0HY+`k@`l9Y5a6jDWSSjmwI14bH~pDx%ieGoqM=O}U+ zB-=x=eZdg)+*_lqekv>Zr)wBO{qojcm!Dq-5wI3qC zqG58Fdp}I7Rp&q9C{lQSXTUg3)Q}U%84mI7?O_IQ|FI6ZMLgqua8*_A4oawf3TPTF zFZLFiBlA8PFY1yrpHcEpE3$j2af^aV#LsDHXh=&}mr>F+yDXpER7KL16KI~|LEYCA zXaw>m7?9~#l7=DGx^1JJ>+b%yhT0TkY{z6$cNb6;5uobza^}KeP4vis0q6#KwpDmD z)e1)3A3b{1=Ce0jYc(F9hnG1GD3&N@P>F%rNevB+6l#%(-=XP%wFf2M4^4hu%webC z2xb+MUpN*(M`jgrW;sHcqB-1#_I&4ta=|gA?JyN<|9R`2Q96)nQTXZPzqNm(pE|bVy4`DWVui zN{N6XFi1BHEh$JNrGQ0C2?7I(h@=Qe2!kl0q;$@A4|qK1d!OfhpX>eOyFUK#oNL6H zz4!d~{ag21>s}i;F{qQ)W2i{^{Azn{lHo{GZEAHA_$GgTsoQvR=@IWEqc*X+n*^#v z$7#Kp!ge0mBN z`V7PS`AtTe)YcYDdu*#l2rP};bE2+0(i*-B zC((xP2RoGPvpLE7B>1*GfDi)e(d)xXpng|&G3{2E4*_NJ)PoaOU^t3{hGw~$Of20VO-dzqpQmwe1K?N$~7!9IV0?q{nM-Tg)*Rpfdx1ZPiCc64^KDf?r+6KN7ybpgNP z%^d5kQq3`(JVaU;In!kj5>gGdm!1>#gMe^9HI*bqh>HujM+%pzjz}=;fm(9;@<+gU zZ}~S*DEjSgI?ssl!Z?#+z`n1evgeWotgr5D<&qb3;@73QM*%kE=jXFwS*EfZ@r(-Y zFAN`~r@w-Uox_L%u}PRh%VEA6b_Mvmm9J5vzqaS-#ebrH>deOi=Re|LE;2P(u2~^SMh$G7I>l@Y}7ZmyEs(G~@Hg$$7zjms1FO0xPIT6;Tnv(!YqP z*(7bqYm~m_L+1*E7J?;2iS?i$>vcp&lY2f2ul@4R{Vr418BcwDa!;ZV7?qsnj(wPw zDvi8+EqN}43=k(IMd&|f&~CdqmVbn{^w zKh2F_NM>PL@*aDnMfJHza_8@9CcQFXZGW6RsYEvs^_<{BZK9QiVkeDt)BO_^a zqUcX>-{QVzemiB6b)suJyARwndOw28b=;e{9sj{`55IDIen4`+pA2li_Mtu)e_j@W z#?iSE5u8L+JcRmEY@O84h+7l8ga>wW?HcQ^w!U8Wd!#l3%@5!bd@%R~ok4RHdHr#> znVz74W3Bf>?lnq)M*qaUL&w;77?#|d%XT-R+##x6$gsx~aE|bb+}s_#YUpe~ z*J{k?MAoFm$Kxo_?{hsWz*6pTG|&y)%f4TxZezp$vJDySI9AVO6L!EyQ74QMxdOGeJd(5iw|a?f{xF9v|A0bF`ExTv4oyp#tasDoadN?}Vrkp`!uHc#M?u(($GW1Qq& z`m6$+BX#w8C&LiRbAsjj?9Er7SH^ztGS(T@I;M!xcJ`4Jt%MG;txh;t?y{ z?k$kJNrWH-VsqwEoTp!MY2tU;N=d`&B)3xSL^!*Rpo7y83~IqMldw2RV1+U_Tg5%m zi7U$VnF4?84UX8F+I6SU5%vd4l+6z>qLzZ7peccYzw<;|}6R+I5cj zkE}}xL0`l;&j1-BHCRm$B{iFilPt&+44-leE05gZ#1)0MjjY-fHnrR*VBRe)vT*lP zIp@-(!y{^SGj1cP6zW~+q9nsCe6aWN!2I^M9JpS(2MYpm0*<-#2mqW5@HIBm01A?| z#QxtA=oXQjB>y@h_Wvpo>z{dB&O(R)K5$PkS%#W0;#EN*iLhVb%HUb z>2>A$=Z~1z)Eop%q*>EQ2yVo_H>n|-Qyg68Z{EDQoPUmwm-o)+Qp>JPIpDCts&W3@ zx#3zDf#+2KGGJp)5jI)>+eVPO2Oc1NB61ubkP8bgW_Nv=nwo+%EbP?zq1ykxtINin zo70ZKaV0l%f`dbBgll=YP%GAKd#4+--S}uIU~z4K!2shrv)Z4%zqN=NahZBob)|8# zpWokmb*?hoad*-@s!g@%loa-8fuI#C z9XUbIAp1idT{T!jLgHMC$iw91DyQ+&$qpYMA9;?o{}e;~0mxurisX>8(`)qKOI1=* zdJUrtTJ?_$3hq_|+_-Sz!Wc{+K|&C)#d5G6*a+a^@gpKj9QQ}MG5*j)9mh2#*}p4R z_1GhH|&bOohVbKFdx`?TXDHR==q6641-|DFyi*$Q&Yc^;@wS*rjVkZ z?cA}R_U;YS*gq$!;JtcWC)i(g9l(+z*@%4dv07kkK~~dgX^mO@)qvUeSvYn2v_IU= zLIAy%XJ+h@`LXBVH#N64(GizGurxR6a>L#4q$O1CZMP*BY9=WUFKFYq>-L^* zA>R?igHVDwM?+@XC9AfN%-uOBUf@S#b`}G?Du-w9@k6^9tKTAM@%qPh*M-l^C^Fgl zb;`_YnJj`XWufoK6$y%A@bho+9M|dLXzV;1J2;IFY;@7Gu)wR{n2WpEJ=C&bz5YIB zt837ft9M~w+Voa4<%P+uZ%F}&yFR7@Yj0(%tr*{FG~I1^5nXnjm8k84(af#A%5|>ePCqqve>_I3vfF9XBR6`AW=6 zc{sDqK=LfM{E_+uv4Bhfq5+t$m?yKegR zI7v`*ohz8Fz7L6y)o091DF4Hb@GpA?>xu!Ag! zZpDJ56c359vYG|k9|FdvX{dJ@=ya%f5g|8VkTVe7m}=+^SP8ZOEdm0}+czKavE`js zmYZ`^ls}oB^fKBkU~dfq{u;KXGVZF*aP1kYbAe-(gk(P|GCv%Tu4Z&}6qY(DTNL}D zFHKpk;+rDjgK<#-;$^FP7I+))1+qUCnK00TBx_iEm#;ebK}VL7f`ml5_I>VnfQvt1 zm=LUHWb(3p+pZt7Cy{Rs!>x3Z1e5;h|86#09#>Y=FZ4 z+mH~r*og6$W&07ZGhf}&X4wxjq+}1n<)Mkrl5t{}JjVX#e2&$YoVJ)z!0Tc@ox(GDX(8JgYa!{X9K1(tDs4Q?s>YU zW<~V^KxzUxI$>8*(4e^9t~U>)zd$SS66y*GlK*{i#PEpkU4i)?YLd8(YF#c0dsaFl*aQ|ow<|@(@PT8acl~$6{XWwvzwcn(7ctcf(H&F@r;P4Z%5ue62sy# z>KuMmwf)>W*5jmE0+zz1Uv;FDTq@ZbS(Oo8XHjfw%FO<;r~uxmHlA4JB)Jp4VzvNz(? zsC(|5)%XoSAA?VuzE4eIC+$w3W>-`RNQS5&$gG0xw*fL0J>5afb^Gxt$OTfc>LAQ! zM1Y?1?-hg-w33Ep-8$Z1;~xKWk8zO`I6?#(qz``h!@HTD|E2&)RAmW!N5VMaO&c3c z_yNsoaXdSqOog8FpMOh}OZ4Z${m=JkY9pR!2*Os)q>L%1X?U~;^62G=*&8UXG`~|RyC`j zRdTTbt^O+ZWA$DgsTmmx&?!R;2=pqXn+hl>WMoSNqH1f?Ue_sr^ob{sq=MP)#*|*} zf-VcX+eTm)dhM>Di_KokgGvrNuKo){8roftr=5FJ1T`EC7AFvx-Dzc*rZEDGXDS~g zmJI<;41gp%++t?>*O>jC4$p6G_XV#V?}~2CZLGddOs>e1 zx(uN++uJ`&Krj>Vv_rYE$|7>UQP6^{CZCF zly*KZ9yMa@u5yNv#1w*TK|iNrS3I8FtS|-E2SaAZR4gzItH2gLX;}{#Dq&xYD?`$K zobCd(MVd)_%@~pqp}uG3H}0*EK%Y?YvOIfNNXGI6*3%gHyy@c-H4Nz9 zm`#_q|FxHr05$@eg8TWkGTMQh<*Um3%TzVDg<>l4q9!25DO7;tgG7xCx9j088PWtW zCbMxy+=9au;^|7I?lb@(z$p-4EQq!@4aQWajeyY{E&22K!Wm*aegn0P}4C{IWvd((c3ka7ei{@A}f4)1zc zev_ro$(q|!Y^)FbcbDJ6irncA*mnVsSVgfVUU+5mChUdSA_wYhg^(#p*#i>7zm5cU z*Z|1;LtFZwJ}{X30@1qJ%HmXt%~5QbB3VDj$y#cbCN3!{$;U^?zMo?Rsl}kq-Ee>J z0zxqCoSbD4&=P;i^I04O8=oQr{no7NPMTrg4HL9x9DAp7F!o;c_Li?Wxnl%-;S8@% z9g$AZ&b(8=2W7V4FH9YB6^&~HCa~^dQiK|at6F0K4a%6Ui>1ntL1=Tmg@DpNA1vv> z-GwQ!k+3RGq>6KMe}z3!NH^pVrNmRqeqIBOv=Fw44ey{g;4Ns=Nf9!-TzG-a^W6)R zY7rqL8z7uRUmF4$^*Q&@rueJgW%>fOw4O|Fgyj{qO0${gMCd&;PL#Pp(q5*b*Dsj) zDRgCQFeGJ-_y9zmpci;0@9z#a?n{G%7Dn28*lNCZkaSCWuG5Q}v98a-u2O6?C>GRW zyan;lLxV%5V(895rU@?Ng7Zx8k6tQ0KwN5SXk z`_%si3;uuKXTttEi3521XS1Y_ZdxXJ1sp!M-v*ZH8#C_PTTjf!lxPmzR%iS0k`G)~ za_ZW!-ZM7N4Jj=Y!H6X+9(lj*m!@Z;J_?-SLDXOB-Go%^7Q_M=ra?L)XB6WU5C|WV zaTxvtsMlwqmUs?w1V40j9qWDt;oh#UFK6y4$jGRM@cahAvdMvUj*$F{&0#fRxA1hi zu)L){-c&$12Sj@K^A>wxY3YUP8_KgsJ;84ebD2J~Un9sm&sIOSZvMr=}yTTTbcal~*WdgfB9=8a>7cr}E z3$Q#bBjW*WHq5#J;sM(jmEuRQJ(%3!<>y!H{I4Ogka-K%aO-~bF=h#CZ7A6m-FQdV zZ+w)=UaRh@w$gm{o=f5PHfdjY7y{q|45p>iM`)8^?5*rJ@W8}g_wL<8W2pG5RO==aUi9KB2hG-y;60@@QA=rjlCqE)J%LM;;x+M%JWO;l2wWP9crJN$PUd5(MoIeaLoym--1{EeZ?%?RJ&P)6 z@44>R*!OM)K#9rqlxHR8(zhWt1EqT`vaYVKC6jQ>K~ppA(IcKCRW^lc4neY;G$NZ2 zlG|d1K!`HPXkmUi!#o0tQA#S+^fo`8T1&fy=fpjSWZH zoP#5~P*?|513D#Ib!HbEcFn>vE2z$KUxcogbe>=K-qWWi{51DqWO(xH*EU9eHlW&a zwjiv?np`bN13`TKu_RlrZI|TWvmUcgmZw7AK6pUy7=pK9B(}jd$#o{IY0RY9ssBRg zu-X`r>Bnzd1McqbW@ctmU2KS4Rm6brQR_=*Qfjo`nI!hupir3%?!=4XEWGc?`p#~q zCA3{s-Xo}<*45Ru7M5YMv$KOb^-#>R8I->2~hjkH^&z#!9Z6NKx>$&-Y z-&yad+?ONJ1$>*j5^`)JHtBR26H#d!FLlUzUhH;k&G>3~c({p)N#eUB_+YByc3v3C zd1+H`oPYt}{BLI+|e`+#eircL|DLK6@ruv;5e8V*ipK(O~*R(#p_Q2#MSW z5f$<@gWpdl(KwY}tI;`sx=%{PfqE2_(S5*{<2BB~kyo0W1Gf9J+dgZ@B-dhil$ANu zyESQEtGzm}e)44_IuKm&?6L?PBDhV{6ul%y1Dj%|`=1-UXG`;L==loqu(Q=VV%2xu z-1wGZibqX1UGyb`TZp?l4(`_WcC)phxOnf_SXS}c(o*1i5`x-sR3&x=T7IQxp4LTE z43K(6zPC+p)i6Q9*4#Ww;r@;SkCKuS(PwOKPQ^hbA|f)nh(11g85+Bw>Z=9@#Ov9B zvEim_I;*})g}qccbVxFCa#on|DEeU#1AH%bP;Rux$k4Fq-D#(W9_~?uoPxr}6kZh)wkf5sT4`q6TW&?^#0xsbt42W<>&KBSwo)o(uEu+;oDEezLLa#^Y}SHG1Zps z`|C*R{lthFj*mCFjdT47!e^wJ3Boyxw6Iq;2Tfh1isCBg#I8p@M8p8RU=)wNfsV_n z+rtY&+9{ECg!HU=((uBu#~;*R;*nDJGSjnilVRTvmoVH;mjKyD;Ny7f;P;T6+xMQt z>LEywGbi)p)lgg{c_k4)NC?9@BO17$@zAsW^$QUL@#6tp5w4$IbaW1nBeJQHIJ_;$ zH7(+r3X01(7n`7d{WB$gxD`35NVG~S}gtNEarJ+rvhdMUmWeU z|NcF0bdaNEMV9-ogU|g!@GdN*SI~$%;9J8!W7a#G+`rCVp0@_;nA=+$bX|s04T&?I zE{a`rj~jM>=>YQkh3*1L*vDrFoPTbMV}4Mf0m|neJr0r~GpqpEf3>0+oq^7vP(8jd zKd%H*XoQKe@iXPIm)AVwI#?jPAeaaF5{j0OxA)y~W#PBiLr}180U%P;u}j~+YG*ey z(Gm`B$>Dq*22TMP!sWcx-`|goIgmwIKsy8v2{AP_JuhPrFx~mur;1_h(ZI34PE0kN zz~Is)am(fq=#Ws1`yt}$xBC+;odGmM5{-D-TS#~9C#&b&McGsf(p+Y>#ifUcQZibKcV|5f~rr7W6oB#yP)y1(=J zG>rUfX}!!qf9{by1*1#$5RiYC=ZEH#r%!XECMG5Z1_ls~HjndQ^UoX|kBp8E8PWxG zIuW}F(K^h?A3I+~Xb-MNO=U>kRf#YrI$^$-WVx~xBvafwe6Dk!@1M0emL|J+$)4=5 zwV7jr1kVuj`3PTM-)#tz`Z*v>%WHn?QmO+ug1!TB^=)eEn!Y~jdWPOjoVm&AX*oPipH$4yvEs|-=H{siIP>gLc6D{d7FU*+gKixh3`|nG_>HihDYdBIWmt+J9UC_Mq={E7 z>imXhoUzGYhY{*d$BIt?aqlzVziYSv0DKL`K;!RXZ1mn+ZgzfN z_+@R6m7AON95!HD57pfK6jf&+Q>m?@xWPP8@*Gf%wD;k*n5k_gTnN`t(EB{1ow}u zkA9@Z)>H!3)uWf#pv(~T8mPO4AkR>%o742ukW#8r`)OR&`o}L6aW!JpsAo&3lamkY zAze@a73F>W!zy>?CDC7J_utpb)ys%_Oz#3mSPuqeFRM+@x*Eg885Vh1U~f^7QvUT8 z*bAie2!?S1e0M;@FKOKT-*uM4G z@=F9R1jN9!)YPU-8lu(v9j2T$V2t>@185I~!r7|t-@jvR;hT`MQV+u7!bqT$cG$+^ zw{HZuIxFd8;?c~^%-DRMFN_k_Z7}*9owfB7^4`G+#(yzmABdb=tVHod@1aV8(}?1+ z^q?9!&H=dDM*?e!T*-(Aqc0sj{Z)uu*VDsk2VyGH`?OK!LHWDu>|Bi)I+#) zLc|fgP|%T7>(@hz4xRs0F<;HAS04q^hKGkgl0tAmkb`CU*{biPv2So0Rg7JPHF$Vy zfNE}lXElWi0{Nw>0psjd@MMgpZYcmc%x{mfM&gTohH!ir;Ws!3TkpJ(tloRyqr!t2 zsv2!zhT9CUBftf0O@1oGi`7FoXoz6S2>Kpta>>)FQO<+3Az2z!??)YKk&m#d<5>DV zb!~(gLvS~a#D%kGbGd^fS%eatArr{}Aw|hy5U<%95p=NM1O6nqabuE@?3lH!ZK9{A zXH8|L8*DA_hk+yR-JObgd(0~sSg#Yp!hAOvo47rMagnP7NAKDZ+L$nh2ifUraP!K} z;Ed)cIQ#j%?v=c+%6hDSQViY76%$Q^f3SCB3v4`TDgg|g@XE+k13nZLjVr)fe=-J` zQQ{fenJ6%3C5U%?szE+-ZksN8svSa5Xi1cko_?-X?8+o*Y%3RsEg~!oyJ&laQLsoh z0nSPNhI0jL^CKzG9$#~C8N1!V5AkG=$5ANW-v0ii#F5N1jlmTa6_0L0V@nXVT6d}# zZ8thFki6le1jk(iabqF=#4@132ugT(co;q&uXHBVngpNY%F>cuaVR4W7T>5=6HG5I zDubpE{5dRx#V>U!1z5fTX5URKq?{gAXBP;nBjRY5@GhzM4+>&byu zrDcTEdBMp5y0~sXmaMF-c=G40Y;0ZulF#8hiL29K_gx+A>`|ee-gjSv&B_!79WP0O zB@CZGpP3i7;>5zQ&~=*31uS(FCI%pj@#V|ShyMb`Wq}piS^HTH z#KEgq^6t_|#2+{)MM9}+9QU8`nL200`9F2*zr%n30ub$V;b|W*V*!%-mIfozjx19V zqB->S_2+8y`Dm=LSkf5Z{lkY3_P1|)-{W+^yTC3R+T@J=+XJ9!yaM$h=L>aY(+L6r zS}Y#L;?Rfzb#$Y($~TpNgCysv7BSi{KKub8$7|M!3Bwure*7y64X;Dk+^UeenWRBYo=G z!4eMgnc$Kf^lw~92=PNlnVG#|uY)4zKKqgIM_=KiDhc7!r^m*|8h|*11qb5XI{asL zs@|!tzTOvnbgQ#h?$L|_M=c~Iq+J5oBkP%>2A3RsJj_Q0r}==U&dSP)7Et>dzXT7K zYmO^{{F)yoT;8~b*je=@9-FV!K{c-?vDjZtflNe3X0X414HzWbuN~avz^o@hZmp^5 z+|(2_?r=Iab#)ihrA}~haq;j#Sl4|5Rj*a&C)j6&`MEy5|06Opo}5rgQ4ykp-X795 z32(tUdOPV9m|AmkauN~}kVrfMfkJT4^mKZSpV}>*xc;TqCA|LR)Dt%jF4WrMIQ%p= zG_c3oPc(<}wrT%>TnaKWGRStYbaShWiXz*6Y{%@YO@Hjz$G1}s)O)z5>!1g^uobfB z9^6iVOx}L_L{G0Wd7haqu&RwwQO(xZ6dbmBrz_~ZbCl@MU%V)AIfbEiRN!tO$G*{6OcsKHFyty*FG_Ub|11^#R9KRaGH;F8FBl)nMe2L!`Z; z5rb-H&PacrfBKbBOIuf0T3q~upx`t8>szaqeqtNBx6}&ISc80#4WjdGbCjC14NW^c z^z4q+&!0WB*ynyF_pQb4LM!kB_2G{`K#jr4LbAB0rY61xPcLGyIc^pd=%YuE#>B)V zB_&<8j_yq@qJDj5Wi;k+D=|ml_|9=)8+3TEhohq-tuqx?_RH*j^)n*bBj#3>5?)TL`)R9Y!Cw5BR5IJ>M9?`$nCX^tJ!L_&f8HuX@5 zh?uyAioshNfmRU}6=g2O$E!G+r+sk$?2u6Q+J`{!CwxOX}HXlBuv znW&lLo9Bttxv_tEpbBqu(PIA~K}K-?v%CJ6>Uz+AKdOQXPOYwGLD5fJ1T8s9o+x}e z!6hLq?xcrCMV0z3;9qL>vj5L7!y~v`v(R-eS&ciO-R?` zWX<8~Ic7&WB086f!z^D=F_Vo(OI&NLU)C_|VXZQ+tOVEv%NRE5%VP^z)8Fd}#SZ?jkI$fUyO8Qjk^=Elwn zZ41as=v%VHDf*q0Z&`m{b<9!Z^VM%m*iZT_9<$_r-c}WLB3xM$aWPA(jEhp^JJoIW znZAc?i{AyE-q8~|y>mTApLy5QANfJJc*sxCrr{k`qG?xs?MIJx`NoZEV!s7CI+vZX z$yNcWqPznC;t>r5tL>HR;Tw08#>5F*M#LWy5*D&%g`?Bcvlir;9O?#~J~Wna)MZWt zD2Z|kV$Q3t_x8M;7qA*1r?K9f7qZgB@d>k@^^VHvg{)f%>~Ged3I!F6PtXlJ zT(=gV8Zus$xys@oV`cDDp!*CW`(cFf_SQw^)}ut4-`VOC{P(>V;+!>fJXr5e2StJid)!B{{ zqKe3k-`l*T)6{gRE}BE?w2Nd^@Gb51yc{wSX_%c;@J}j9s^}iSmc73di@shsdFCr= zuoL~Z<~P&m6S7+_$Ij1iU(vC>^GeTnEnfIB_JbT2QYpE=M}G~iz9AolI#OJ<(3|2f zGkvFC%%-=jdN3<{W8RpW)vN63e9(iwOYW$7MH=aV5h}XD%&Pq!r{ORhnMG}qflo^3 zx@A2Y*C5(rf0YTpUL<)DsaFp3#-*M=Ni6C1FPCV)F!Z1GQq)K=BrV8$uTNKFLHFS@n#rDEH33eDwvr_Cq;Vc%13gv^9BMOw;@O$;m+3 zC~mSY^gap?4nAXK#1tv{-j#+3^ip^_oh$6PFna|+LVFj~7{pU5R@t6UpH_j#OHVWj zoVS&HHz{y2%NNFIA%JQD(h6X_f?aWQPo@+s3uUFHfiK~?xm%l?cG}lE$pXS3 z-y&T6K0FnB%K}Ud*?#LxEc&?<(O;FAJiA%PrsBD+IT`BN`i#gyis){=^a!QsIIOkr z>RfDZ;pw}-jHY*I2}+#&FVH3mw3EYg1>OXjYmrPBm`e-vp`#7&`_kIVFDbbKm=)yp zkC~&))(otS^JnQW=0Am>`)_u&;^-7!8Q^&6^E0>t>c$0EIehmD*I!SI`gm&qpF)!w z%OVpi1o6_tLqj)hZ4Itn1F6juv_M|)=E4tVd)pg&S=e-^tj9R6oSZmVSrkpH!Y5Bg z#XRdlXf9`w*V}fj*inl9KC^Gtq)Xm@vu6iOxNA0^h3`6*4|P*3$)U|!Mn^NFrAa6+ zs7n+-fBq;jrE&MW=np!n+;0P%b?AcP4PsmIl3PFb`c_VIDEZ@YUkT9vr1(ugkA^s& z!Sp3B_E83)=*5G}dKu=e+B|{#25rX6%gg#c=L4bb8y|5FuRS`HJW-(v2ZwO!th(w| z1~VMO(Mm2^S}q5-Wu7mpNO@^x{Mzn*ROs2R!Z<>K;K?UnS{1f`b;**{ z3uxWB^P;Foc$6gmLnRP`yj{F~8o8d(IDP8&JUrkR*R~572EIKQ?LOfZZ?er5UMm;Jl06!*IWpN=utUXxNx!Uk^C5?aa44%bJmyAIvlW7%@bU1pSw)OLYN~;6 z;;f>G2qnKL+{8?$?igxoM@(7sIJ|n(ba>zNhz0kp!y5YMq5Ex|x$L#p;)Lh;x?(|b z^d52&F7*{cNLVS#1o+4WZDaG>^WK96b@7(i(cXBeb*YVuMpp6ci+p*UQ_3Y75 z4&l0A614w;a{lCK@yf;E01Ug+ zB(+whpd~1biJ_pkYzVf$pl|XidKYOjn_+IYF@G@)qbt-U^vuu6r$@_7nZe-YW;p4P zMt|Sw)0nrlk2k8q>&w1ASYb%1wLj4j1P?60fYB-l1+6c*?i13}NwX<{UFnfYuyAq$ z*A>+YJvHm-$Alcc^0G2tor8fW2*C4*Dr-YFwKSIr|2 z;U!xbL>{JBwY$N1{-urCVTm znubI0_VT*ViNo;>P&BBuEa3Hl=EyFSGW9Jyv=y4f&e2g;5j1!&CGEW!qe~`;=vXBWp(xJ(a{#`+n&A5u<#}uHq+~A`EXz#g&1b?ooPA zaf!sDJfvKFPft(d{#waJ{l=YOcF5_Z-ChT?3&cL$=WS8~(eB1X)raP0ZXuy)g3ttD zO{yFwn~WT+5i|s%gF#Za^2c@NJNHv`EoIY4P^m_W@r?J+|HyDbO!( zu%QwMGRwA>=5`d2)ej@~eqDYxZ``QWC|$1a$};w$vXf1c-~cBiqht5uU+$yzPd%fz zW*E&l=~tXjfARXXvctpiF-e)cg$KKg28^zg0T=>lu~%rT^C&8DLflJR)Bf+*_AhRa z6i$LCf^{K!oCbPF@)3or5g%OQQ6R6S>5&rAbE|d@_)dt#97IBt8Xc*!7s2)$HfW zTBdPPQ99?&ox6CkyR#GCkWl#4^1iP5_0WyG4kqu&3B~}O9+&;jS%N-}C?Oq2%0s6I z9UNK#!E}Crl#I-h23h(nHy8KgXW=#6u@CxI?;cQKSN0wq>*-VR48C_PSg5^8*xk>Q z{KmPyOBG=Zr#EZY>^!5z-J=;OV53{Th)C*}Mlgw9>YQBCFz=y00LKOn4j_`l(4Oy- z=D)+^)C8)=NB(_h@?jC#!qBi3Dyq?-huCapXrSLwLrsvGZ(g4JiNQ6{yDz_FwAzLP OKW8;As28hQApZ|3M!-7&